Boost logo

Threads-Devel :

Subject: Re: [Threads-devel] unbind passed function to the thread constructor after real thread exits
From: dadrus_at_[hidden]
Date: 2009-02-19 06:33:22


Thanks for a fast reply

> Are you sure this problem manifests with your simple example? Does it
> happen if you use boost::shared_ptr instead of boost::smart_ptr?

Sorry. My fault. I was using boost::shared_ptr

> Are you sure this is the behaviour you see?

Yes, defintely!

> The thread does indeed destroy the supplied function object when it is
> finished. As you say, if it did not there would be a lot of memory
> leaks.

In my real code needed a thread pooling, so i used Boost.Threadpool from boost vault. By testing i saw that my objects were not destroyed until threadpool itself is not deallocated. So i switched to boost::thread_group und used it like some kind of thread pool. But run into the same problem. So i wrote a simple test which looks quite similar to the example in my first post to this topic (using boost::shared_ptr). Got the same problem. As long as the corresponding thread object exists my object wrapped by shared_ptr is not destroyed.

I'm using the release 1.38 of boost.

Regards
Dimitrij

-- 
Jetzt 1 Monat kostenlos! GMX FreeDSL - Telefonanschluss + DSL 
für nur 17,95 Euro/mtl.!* http://dsl.gmx.de/?ac=OM.AD.PD003K11308T4569a

Threads-Devel list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk