Peter Klotz <peter.klotz@aon.at> writes:
Anthony Williams wrote:
On 14/01/2009, Ernst Murnleitner <mur@awite.de> wrote:
Dear Anthony,
pthread_mutex_timedlock returned ETIMEDOUT.
This bug has already been fixed.
Of cource, bugs happen.
I used boost 1.36.0. Is the fix in 1.37.0?
Alas, no. I didn't merge it in time. Boost 1.38 will be out in a few weeks, which WILL have the fix in. For now, just patch your copy to use ETIMEDOUT instead of EBUSY.
Are you sure?
My copy of Boost 1.37.0, file boost/thread/pthread/recursive_mutex.hpp, line 180 looks like this:
BOOST_ASSERT(!res || res==ETIMEDOUT);
If the previous call to pthread_mutex_timedlock() returns ETIMEDOUT, the assertion should hold.
No, I'm not sure --- I couldn't remember the timings, so I checked my copy of 1.37 (I thought). Checking again, it was indeed fixed in that release. I must have checked 1.36 by mistake. Thanks Peter for correcting me. Anthony -- Anthony Williams | Just Software Solutions Ltd Custom Software Development | http://www.justsoftwaresolutions.co.uk Registered in England, Company Number 5478976. Registered Office: 15 Carrallack Mews, St Just, Cornwall, TR19 7UL