------- Additional Comments From qrczak at knm dot org dot pl 2005-02-24 17:31 ------- > "multithreading is defined by an application design that ALLOWS FOR concurrent > or simultaneous execution"
Initializers of static locals cannot execute concurrently, no matter whether they are automatically locked or not. The only thing which would change when you remove the automatically inserted locking is that some programs which used to work are now broken, and that some other programs which used to deadlock now invoke undefined behavior from entering an initializer recursively. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20099