On Thu, 2007-05-24 at 11:03 -0700, Sohail Somani wrote:
On Wed, 2007-05-23 at 22:38 -0700, Robert Ramey wrote:
Sohail Somani wrote:
SOOO I'm am positive about the idea. However, like most good ideas, its a lot bigger than it first appears.
Don't see why myself. In multi-threaded builds of serialization, we link with Boost.Thread and use boost::once.
Actually, after reflecting a bit more on the code, there are a lot of places in the serialization which are susceptible to race conditions. In extended_type_info.cpp, all the mutating static functions have a race condition. So it *is* a bigger issue than I previously thought, like you say. I wonder if its more work to fix the issues or to resort to manual registration. I think even locally it is better to fix the issues, but then a lot of testing needs to be done. The easiest thing is to have a boost mutex around the mutating functions (which of course cannot be statically initialized...) I'll have to talk with my team to see what the best course is for us. Thanks for your replies, Sohail