Boost logo

Boost Users :

Subject: Re: [Boost-users] serialization singleton assert on iphone
From: Robert Ramey (ramey_at_[hidden])
Date: 2009-04-13 12:53:54


It would be interesting to know the stack trace for this to know from where
the call is being made. This suggests that the order of destruction is
different than what the library expects. So other informaition
such as compiler version etc are also interesting.

Robert Ramey

"gtsml owevwr" <gtsml.owevwr_at_[hidden]> wrote in message
news:6e954aa60904130810x143a0516j8380e40384eb0c07_at_mail.gmail.com...
Hi,

I have an assert when exiting my application using the serialization lib of
boost 1.38.

    BOOST_DLLEXPORT static T & get_instance() {
        static detail::singleton_wrapper<T> t;
        // refer to instance, causing it to be instantiated (and
        // initialized at startup on working compilers)
        assert(! detail::singleton_wrapper<T>::m_is_destroyed);
        use(instance);
        return static_cast<T &>(t);
    }

The same code doesn't assert on windows XP so I guess that's something messy
with static allocation on the iphone platform.
On the iphone, the load/save code works well as long as it's not called when
the application exit.

As far I as I understand, I need to move my exit code somewhere else, when
those singleton are still allocated.
Can somebody confirm that? Or maybe I'm missing something...

Any feedback warmly welcome!

thanks

_______________________________________________
Boost-users mailing list
Boost-users_at_[hidden]
http://lists.boost.org/mailman/listinfo.cgi/boost-users


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