Boost logo

Boost Users :

From: Robert Ramey (ramey_at_[hidden])
Date: 2007-05-21 22:39:57


I believe the issue has been addressed in 1.34. That may or
may not be the same as "fixed in 1.34". I've tried to address
it by:

a) fixing the order of initialization by carefully considering
depencies.

b) permiting multiple instances of extended type info
for the same type which might occur in diffferent
DLLS. The entails deleting the correct one
when the destructor is called.

Its hard to make a test for so its sort of
precarious. But there it is.

Robert Ramey

Sohail Somani wrote:
> Robert,
>
> I've seen this thread here:
>
> http://thread.gmane.org/gmane.comp.lib.boost.user/21885
>
> And I believe I am coming across the same issue (static *serializer
> instances) manifesting itself as an assertion failure:
>
> Assertion failed: lookup(eti) == m_self->m_map.end(), file
> vendor/boost/libs/serialization/src/extended_type_info.cpp, line 77
>
> That assertion means that a type_info key is being registered twice.
> I've verified this via cout (\o/ for debugging).
>
> Now I am also of the opinion that there is no way to do this
> initialization without bringing a threading library into
> Boost.Serialization. From reading the comments in the code, it appears
> that the only reason the library is using these singletons is because
> of VC6. Is it possible to have some thread-safe way (perhaps via
> ifdefs?) to do these singletons? Or do you think there is another
> reason I am having this issue?
>
> Thanks,
>
> Sohail
>
> PS: I'm using 1.33.1. If the issue is fixed in 1.34, I'd be very glad!


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net