From 8806ffb89b9dddd53b4d833cb63222150060039a Mon Sep 17 00:00:00 2001 From: allfro Date: Fri, 25 Jan 2013 17:43:56 -0500 Subject: [PATCH] Update src/canari/utils/fs.py Fixed erroneous flag check for Windows --- src/canari/utils/fs.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/canari/utils/fs.py b/src/canari/utils/fs.py index 1495934..b12f598 100644 --- a/src/canari/utils/fs.py +++ b/src/canari/utils/fs.py @@ -11,7 +11,7 @@ if os.name == 'nt': from ctypes import * from ctypes.wintypes import BOOL, DWORD, HANDLE - LOCK_SH = 0 # the default + LOCK_SH = 0x0 # the default LOCK_NB = 0x1 # LOCKFILE_FAIL_IMMEDIATELY LOCK_EX = 0x2 # LOCKFILE_EXCLUSIVE_LOCK LOCK_UN = 0x4 # Unlock file. Not in NT API, just needs to be there. @@ -86,7 +86,7 @@ if os.name == 'nt': overlapped = OVERLAPPED() if flags & LOCK_UN and UnlockFileEx(hfile, 0, 0, 0xFFFF0000, byref(overlapped)): return - elif flags & (LOCK_EX | LOCK_NB | LOCK_SH) and \ + elif (not flags or flags & (LOCK_EX | LOCK_NB | LOCK_SH)) and \ LockFileEx(hfile, flags, 0, 0, 0xFFFF0000, byref(overlapped)): return raise IOError(GetLastError()) -- 2.45.1