
Okay... The last algorithm I posted in this thread actually works. It shows how to do atomically thread-safe reference counted static initialization of c++ objects which adhere to a thread-safety level of strong. I am almost finished creating a technical white paper which will give a fairly detailed description of every aspect of my algorithm, and the implementation details of a fully working prototype. After reading it, you should have no problem implementing and experimenting with my algorithm for yourself. The basic concept of my technique is, IMHO, very straightforward and fairly simple to understand: -- Correct multi-threaded referenced counted static initialization of C++ objects can be realized through the interface of a smart pointer which wraps a low-level API that uses atomic operations to access the contents of a statically initialized POD. The paper and library will be posted today or tomorrow. I think I have a good solution to this particular "C++ problem". IMHO, my static initialization algorithm works well with and could be an asset to the Boost Library. Therefore, I am really looking forward to, and will be very interested in, reading any comments/critiques/suggestions on my technique the Boost community may have. Thank you all for your time, Chris Thomasson