Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2012-02-14 17:55:45 +0400
committerCorinna Vinschen <corinna@vinschen.de>2012-02-14 17:55:45 +0400
commita8c8f19a43534cb9172539fcfcc6e83a39f48b9d (patch)
tree78f2bfd823df547fcfcc4800187f24ea7600ced6 /winsup/cygwin/flock.cc
parent8895d962d5fbb79dcd65db9d801644fb1fa2ca5e (diff)
* flock.cc (lf_setlock): Don't close waited lock object handle before
we own the node lock. Fix comment.
Diffstat (limited to 'winsup/cygwin/flock.cc')
-rw-r--r--winsup/cygwin/flock.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/winsup/cygwin/flock.cc b/winsup/cygwin/flock.cc
index bd508719c..4f920643d 100644
--- a/winsup/cygwin/flock.cc
+++ b/winsup/cygwin/flock.cc
@@ -1039,11 +1039,11 @@ lf_setlock (lockf_t *lock, inode_t *node, lockf_t **clean, HANDLE fhdl)
DWORD ret = WaitForMultipleObjects (wait_count, w4, FALSE,
proc ? INFINITE : 100L);
SetThreadPriority (GetCurrentThread (), old_prio);
- /* Always close handles before locking the node. */
- NtClose (obj);
if (proc)
CloseHandle (proc);
node->LOCK ();
+ /* Never close lock object handle outside of node lock! */
+ NtClose (obj);
if (ret == WAIT_SIGNAL_ARRIVED)
{
/* A signal came in. */