Boost logo

Boost Users :

Subject: [Boost-users] serialization singleton assert on iphone
From: gtsml owevwr (gtsml.owevwr_at_[hidden])
Date: 2009-04-13 11:10:25


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 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