Hello users. I am new to boost:threads, so my apologies in advance. I am getting an assertion failure right before main() exits. Specifically, I get the following error: "*/usr/include/boost/thread/pthread/mutex.hpp:45: boost::mutex::~mutex(): Assertion `!pthread_mutex_destroy(&m)' failed.*" Below is the code snippet: *********************************************************************************************************************************** class Test { private: boost::mutex mtx; public: int counter; Test() { counter = 10; } void DoWork() { for(unsigned int i = 0; i < 1000000; i++) { mtx.try_lock(); counter++; mtx.unlock(); } } }; int main() { unsigned int N = 7; boost::thread* test_threads = new thread_type[N]; for(unsigned int i = 0; i < N; i++) { test_threads[i] = thread_type(boost::lambda::bind<void>(&Test::insert, &object)); } for(unsigned int i = 0; i < N; i++) { test_threads[i].join(); } return 1; } *********************************************************************************************************************************** Can somebody shed some light? Main() exits normally, if I replace mtx.try_lock() with mtx.lock(). Why this behavior? Best Regards, Panagiotis Foteinos