Boost logo

Boost Users :

From: Joost Meijles (joostmeijles_at_[hidden])
Date: 2008-03-25 09:47:11


Hi All,

I am trying to use the Boost Pool library, more specifically I am trying to use the singleton pool interface.
Everything seems to work fine, till the moment I use it to create an object from a class containing a (STL) map, which results in a segmentation fault.
Does anyone know why this happens, or how to work around it?

What I find also strange is that the constructor and destructor of the class doesn't seem to be called when using the pool. Is this normal behavior?

Please find below the example that causes the segmentation fault (and the not calling of the constructor/destructor issue).

Thanks a lot in advance.

Kind regards,

Joost

==========================================
class MyClass { public:
                                        int x;
                                        vector y;
                                        map z;
                          };

int main() {
   typedef boost::singleton_pool myPool;

    MyClass * const t = (MyClass *) myPool::malloc();
    t->x = 1;
    t->y.push_back(2);
    t->z.insert(make_pair(3,3));//causes segmentation fault
  
    myPool::purge_memory();
}
==========================================
_________________________________________________________________
Probeer Live Search: de zoekmachine van de makers van MSN!
http://www.live.com/?searchOnly=true


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