|
Boost Users : |
Subject: Re: [Boost-users] [thread] assertion error in timed_lock
From: Anthony Williams (anthony.ajw_at_[hidden])
Date: 2009-01-14 17:34:33
Peter Klotz <peter.klotz_at_[hidden]> writes:
> Anthony Williams wrote:
>> On 14/01/2009, Ernst Murnleitner <mur_at_[hidden]> 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
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