From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28542 invoked by alias); 20 Aug 2012 01:41:20 -0000 Received: (qmail 28531 invoked by uid 22791); 20 Aug 2012 01:41:18 -0000 X-SWARE-Spam-Status: No, hits=-3.8 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,KHOP_THREADED X-Spam-Check-By: sourceware.org Received: from localhost (HELO sourceware.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 20 Aug 2012 01:41:04 +0000 From: "bugdal at aerifal dot cx" To: glibc-bugs@sources.redhat.com Subject: [Bug nptl/14484] sem_timedwait always return -1 with errno 110 (ETIMEDOUT). Date: Mon, 20 Aug 2012 01:41:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: glibc X-Bugzilla-Component: nptl X-Bugzilla-Keywords: X-Bugzilla-Severity: critical X-Bugzilla-Who: bugdal at aerifal dot cx X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact glibc-bugs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: glibc-bugs-owner@sourceware.org X-SW-Source: 2012-08/txt/msg00119.txt.bz2 http://sourceware.org/bugzilla/show_bug.cgi?id=14484 --- Comment #5 from Rich Felker 2012-08-20 01:41:02 UTC --- As far as I can tell this report is invalid and is just a case of the reporter not understanding the interface. In particular, assuming the semaphore value is initially zero and it's never posted: 1. sem_timedwait should fail with ETIMEDOUT if the given time has already passed when it's called. 2. sem_timedwait should sleep until the given time, then fail with ETIMEDOUT, if the given time is in the future. 3. Signals that arrive during the wait should have no effect on sem_timedwait unless the handler was installed without the SA_RESTART option. Note that point 3 is not honored on most (all?) Linux versions; syscalls with timeouts get interrupted with EINTR even if the signal handler was installed with SA_RESTART. This is a bug in Linux, not glibc, and is impossible to fix at the libc level. If you still believe there's a glibc bug here, please explain what you expect the behavior to be in terms of the specification of the sem_timedwait function. As I've said, I can't see any bug... -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.