Mutexes and error checking

Joe Marcus Clarke marcus at marcuscom.com
Tue Jul 23 16:18:20 UTC 2013


On 7/23/13 11:43 AM, Martin Simmons wrote:
>>>>>> On Sun, 21 Jul 2013 16:52:08 -0400, Joe Marcus Clarke said:
>>
>> The specifics are this.  There are some GNOME/GTK+/GLib apps that are
>> crashing now that GLib checks the return of pthread_mutex_unlock() in
>> g_mutex_unlock().  While we can workaround this in GLib by simply
>> nop'ing the EPERM return, we'd like to pursue something that may be a
>> bit more manageable for those apps written for Linux that do not use GLib.
> 
> Which apps are broken and why can't they be fixed?

Koop, do you have a complete list?  The one that was reported to me was
sonata (a Python app).  I have not yet traced down the offending code as
I was curious why Linux was not failing, and this appears to be why.

Joe

> 
> 
>> Again, I'm not arguing the voracity of the 3rd party app code, just the
>> discrepancy between Linux and Solaris compared to FreeBSD.
> 
> Note that unlocking an unlocked normal mutex on Linux (glibc) does *not* work,
> but leaves it in a subtly inconsistent state.  Therefore bugs like the one you
> reported to the GNOME Bugzilla
> (https://bugzilla.gnome.org/show_bug.cgi?id=678758) should be fixed, not
> ignored by hiding the error status.
> 
> __Martin
> 


-- 
PGP Key : http://www.marcuscom.com/pgp.asc


More information about the freebsd-threads mailing list