You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Dale Ghent <da...@elemental.org> on 2009/04/04 02:03:35 UTC

Re: Posix sems still not recommended?

On Mar 31, 2009, at 2:59 AM, Rainer Jung wrote:

> On 30.03.2009 20:58, Jeff Trawick wrote:
>> On Mon, Mar 30, 2009 at 2:33 PM, Jeff Trawick <trawick@gmail.com
>> <ma...@gmail.com>> wrote:
>>
>>
>>
>> On Mon, Mar 30, 2009 at 2:07 PM, Jim Jagielski <jim@jagunet.com
>> <ma...@jagunet.com>> wrote:
>>
>> Anyone know if:
>>
>> # POSIX semaphores and cross-process pthread mutexes are not # used
>> by default since they have less desirable behaviour when # e.g. a
>> process holding the mutex segfaults.
>>
>> is still applicable, at least for posix sems?
>>
>>
>> AFAIK, the Solaris-specific recovery logic for cross-process pthread
>> mutexes has been working reliably for a long time, but with the
>> current wind direction APR is choosing fcntl(), which has sysdef
>> implementations on that
>>
>>
>> ugh; "sysdef implications"
>
> and quite often shows EDEADLOCK, even when you can prove there can't  
> be
> one. Especially when starting to use more than one lock of that type
> (e.g. when SSL comes into the game).
>
>> platform.
>>
>> no clues here about the POSIX semaphores
>
> I would be much interested in an answer as well. Because of the
> EDEADLOCK problems I did suggest using the pthread based mutex on
> Solaris for a while to people and got no problem reports. But what
> experience do others have?
>
> In a related thread on the Tomcat users list about mod_jk I wrote in
> February:
>
>  I now did some searching and it turns out that the implementation of
>  pthread mutexes for Solaris 10 has very recently changed quite a bit.
>  So all speculations about improved pthread mutex behaviour
>  (especially for "robust" mutexes) in the last years might have become
>  obsolete.
>
>  The new implementation is contained in Solaris kernel patch 137137-09
>  and most likely also in Solaris 10 Update 6 (10/08). I didn't check,
>  whether that update simply contains the kernel patch or the fix is
>  included independently.
>
>  Some detail is logged in Sunsolve under the bug IDs
>
>  6296770 2160259 6664275 6697344 6729759 6564706

137137-09 (sparc) and 137138-09 (x86) are the kernel revs that ship  
with s10u6, so they're in there if indeed these items were rolled into  
that patch rev.

/dale