Boost logo

Boost Users :

From: Labour, Matthieu (MLPRO SF) (matthieu_labour_at_[hidden])
Date: 2005-08-05 17:08:55


Hi

I have a simple program running on Linux.

The program implements an Active Object and uses boost::object_pool and
boost::thread

It cores when sending lots of messages

Here is the message I get when running gdb

#0 0x0804b840 in boost::simple_segregated_storage<unsigned
int>::ordered_free (this=0x988b4d0, chunk=0x988bf2c)
    at simple_segregated_storage.hpp:46
46 { return *(static_cast<void **>(ptr)); }

There are 2 threads.
One thread creates Objects using boost::object_pool and enqueues them
into a stl queue.
The other Thread dequeues the stl queue and call MyObject::handle.

static boost::object_pool<MyEvent>* _pool;

Class MyObject{
Public:
        void handle(){
                //do something
                _pool->destroy(this);
        }

};

_pool = new boost::object_pool<MyObject>(1000);
MyObject* obj = _pool.construct();
Queue.putq(obj);

I would appreciate any thoughts/help

Thank you very much
--------------------------------------------------------

If you are not an intended recipient of this e-mail, please notify the sender, delete it and do not read, act upon, print, disclose, copy, retain or redistribute it. Click here for important additional terms relating to this e-mail. http://www.ml.com/email_terms/
--------------------------------------------------------



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