Mutexes and error checking

Daniel Eischen deischen at freebsd.org
Tue Jul 23 16:45:18 UTC 2013


On Tue, 23 Jul 2013, Joe Marcus Clarke wrote:

> 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.

FYI, here is a very lighty tested patch that allows an unlock on
a PTHREAD_MUTEX_NORMAL mutex by a non-owning thread:

   http://people.freebsd.org/~deischen/libthr_mutex_normal.diffs

I do not argue for or against this behavior in making this patch,
as I can see both sides of the argument.

-- 
DE


More information about the freebsd-threads mailing list