From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7240 invoked by alias); 31 Jan 2012 11:24:39 -0000 Received: (qmail 7221 invoked by uid 22791); 31 Jan 2012 11:24:37 -0000 X-SWARE-Spam-Status: No, hits=-2.9 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 31 Jan 2012 11:24:25 +0000 From: "redi at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/51906] thread lock test failures on darwin11 under Xcode 4.2 Date: Tue, 31 Jan 2012 12:29:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libstdc++ X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: redi at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2012-01/txt/msg03657.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51906 --- Comment #31 from Jonathan Wakely 2012-01-31 11:23:55 UTC --- (In reply to comment #30) > it outputs "22" and it returns 0 with _XOPEN_SOURCE defined? > which appears to be... > > > The pthread_mutex_lock() and pthread_mutex_trylock() functions shall > fail if: > > EINVAL The mutex was created with the protocol attribute having the > value PTHREAD_PRIO_PROTECT and the calling thread's priority is > higher than the mutex's current priority ceiling. That's the POSIX spec, but priorities don't apply to that test. The Mac OS X pthread_mutex_trylock(3) man page (which doesn't seem to have been updated since it was copied from BSD) says simply [EINVAL] The value specified by mutex is invalid. and the pthread(3) man page says "The default system libraries include pthread functions. No additional libraries or CFLAGS are necessary to use this API" which isn't true if _XOPEN_SOURCE is needed.