From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 33360 invoked by alias); 20 Jan 2019 21:48:34 -0000 Mailing-List: contact cygwin-cvs-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: cygwin-cvs-owner@cygwin.com Received: (qmail 33090 invoked by uid 9078); 20 Jan 2019 21:48:11 -0000 Date: Sun, 20 Jan 2019 21:48:00 -0000 Message-ID: <20190120214811.33088.qmail@sourceware.org> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Corinna Vinschen To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin] Cygwin: timerfd: Fix entering critical section X-Act-Checkin: newlib-cygwin X-Git-Author: Corinna Vinschen X-Git-Refname: refs/heads/master X-Git-Oldrev: 597285ca58770f3c9495aa91fbf24129b01cf426 X-Git-Newrev: 693c98c5e2f9d674eb28952be3e105fba7ea06ad X-SW-Source: 2019-q1/txt/msg00072.txt.bz2 https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=693c98c5e2f9d674eb28952be3e105fba7ea06ad commit 693c98c5e2f9d674eb28952be3e105fba7ea06ad Author: Corinna Vinschen Date: Sun Jan 20 22:19:27 2019 +0100 Cygwin: timerfd: Fix entering critical section Getting an abandonded mutex is just as well and must be handled. Signed-off-by: Corinna Vinschen Diff: --- winsup/cygwin/timerfd.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/timerfd.h b/winsup/cygwin/timerfd.h index 6c42d91..7117382 100644 --- a/winsup/cygwin/timerfd.h +++ b/winsup/cygwin/timerfd.h @@ -59,7 +59,8 @@ class timerfd_shared /* write access methods */ bool enter_cs () { - return WaitForSingleObject (_access_mtx, INFINITE) == WAIT_OBJECT_0; + return (WaitForSingleObject (_access_mtx, INFINITE) & ~WAIT_ABANDONED_0) + == WAIT_OBJECT_0; } void leave_cs () {