From a918549275fd4e07362ec55cbabdaaaa12697dec Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Fri, 30 Jul 2004 14:48:19 +0000 Subject: [PATCH] * bsd_mutex.cc (_msleep): Reset event object and close it before entering mutex. Turn order of conditional for better readability. --- winsup/cygserver/ChangeLog | 5 +++++ winsup/cygserver/bsd_mutex.cc | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/winsup/cygserver/ChangeLog b/winsup/cygserver/ChangeLog index 634812436..34063dbe8 100644 --- a/winsup/cygserver/ChangeLog +++ b/winsup/cygserver/ChangeLog @@ -1,3 +1,8 @@ +2004-07-30 Corinna Vinschen + + * bsd_mutex.cc (_msleep): Reset event object and close it before + entering mutex. Turn order of conditional for better readability. + 2004-07-26 Corinna Vinschen * cygserver.conf: Describe relation between shmmaxpgs and SHMMAX. diff --git a/winsup/cygserver/bsd_mutex.cc b/winsup/cygserver/bsd_mutex.cc index 1a01dd2ea..449e61449 100644 --- a/winsup/cygserver/bsd_mutex.cc +++ b/winsup/cygserver/bsd_mutex.cc @@ -222,10 +222,12 @@ _msleep (void *ident, struct mtx *mtx, int priority, panic ("wait in msleep (%s) failed, %E", wmesg); break; } - set_priority (old_priority); - if (!(priority & PDROP) && mtx) - mtx_lock (mtx); + /* Dismiss event before entering mutex. */ + ResetEvent (evt); CloseHandle (evt); + set_priority (old_priority); + if (mtx && !(priority & PDROP)) + mtx_lock (mtx); return ret; }