Subj : Re: Can C++ local static objects be made thread safe? To : comp.programming.threads From : David Schwartz Date : Thu Feb 03 2005 02:09 am "Gianni Mariani" wrote in message news:haGdnR1nYeaWBJzfRVn-tg@speakeasy.net... > Simply because the C++ standard is quite specific in that static function > local variables (non POD) must be initialized exactly once on the *first > time* that control passes through the variable. All we're doing here is > enforcing this requirement. No! The C++ standard says nothing about threads. The C++ standard does not provide *any* guarantees in the context of threads. A threading standard must specifically restate any C++ standard guarantees that it provides in the context of threads. If we're talking POSIX, POSIX specifically requires accesses to shared data (which the static object is) to be protected by mutexes. DS .