From owner-freebsd-threads@FreeBSD.ORG Tue Jul 23 15:53:56 2013 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id BD8C9429; Tue, 23 Jul 2013 15:53:56 +0000 (UTC) (envelope-from martin@lispworks.com) Received: from lwfs1-cam.cam.lispworks.com (mail.lispworks.com [193.34.186.230]) by mx1.freebsd.org (Postfix) with ESMTP id 3C15F2612; Tue, 23 Jul 2013 15:53:55 +0000 (UTC) Received: from higson.cam.lispworks.com (higson.cam.lispworks.com [192.168.1.7]) by lwfs1-cam.cam.lispworks.com (8.14.5/8.14.5) with ESMTP id r6NFhT0E085559; Tue, 23 Jul 2013 16:43:29 +0100 (BST) (envelope-from martin@lispworks.com) Received: from higson.cam.lispworks.com (localhost.localdomain [127.0.0.1]) by higson.cam.lispworks.com (8.14.4) id r6NFhS6p007389; Tue, 23 Jul 2013 16:43:28 +0100 Received: (from martin@localhost) by higson.cam.lispworks.com (8.14.4/8.14.4/Submit) id r6NFhS7n007384; Tue, 23 Jul 2013 16:43:28 +0100 Date: Tue, 23 Jul 2013 16:43:28 +0100 Message-Id: <201307231543.r6NFhS7n007384@higson.cam.lispworks.com> From: Martin Simmons To: Joe Marcus Clarke In-reply-to: <51EC49F8.6070207@marcuscom.com> (message from Joe Marcus Clarke on Sun, 21 Jul 2013 16:52:08 -0400) Subject: Re: Mutexes and error checking References: <51E71D4F.5030502@marcuscom.com> <51E8061B.60906@marcuscom.com> <51EB5EC4.6050802@marcuscom.com> <20130721160220.GA38417@stack.nl> <51EC0BCF.6080501@FreeBSD.org> <51EC49F8.6070207@marcuscom.com> Cc: deischen@freebsd.org, kwm@rainbow-runner.nl, avg@freebsd.org, freebsd-threads@freebsd.org X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Jul 2013 15:53:56 -0000 >>>>> 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? > 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