Dear Boosters, I am trying to understand how to use the TSS Thread local storage, and came upon a strange behaviour. I do not know if I am doing something wrong here. Maybe someone can help. I am running on Win2K, VC6.0. (GUI Interface programm type) In my main thread I have: struct oops { // inline oops(); // commented out, won't run oops(); // this one starts up ~oops(); private: int i; }; oops::oops() { i = 0; } oops::~oops() { } boost::thread_specific_ptr<oops> value; I am not assigning to value anywhere. Now when I try to start my programm (I tried only the debug version) my GUI never comes up. When I break into with the debugger I can see, that the programm is sitting somewhere in the main message loop (PumpMessage), but never receiving any messages. When not having the inlined version, behaviour is ok. Any help appreciated. Thank you, Roland