Rev 4421: (Martin [gzlist]) Use ctypes.GetLastError, in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Tue Jun 9 15:23:49 BST 2009
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 4421
revision-id: pqm at pqm.ubuntu.com-20090609142345-8tl0boikusfthw9n
parent: pqm at pqm.ubuntu.com-20090609074559-97mi1flqtxzh6aj3
parent: gzlist at googlemail.com-20090603223359-kvz1aognznnpflna
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Tue 2009-06-09 15:23:45 +0100
message:
(Martin [gzlist]) Use ctypes.GetLastError,
since it is available even for Win98
modified:
bzrlib/lock.py lock.py-20050527050856-ec090bb51bc03349
------------------------------------------------------------
revno: 4404.1.1
revision-id: gzlist at googlemail.com-20090603223359-kvz1aognznnpflna
parent: pqm at pqm.ubuntu.com-20090603222259-m1s1zm751w82h7bj
committer: Martin <gzlist at googlemail.com>
branch nick: dev
timestamp: Wed 2009-06-03 23:33:59 +0100
message:
Correct use of GetLastError in ctypes windows locking code
modified:
bzrlib/lock.py lock.py-20050527050856-ec090bb51bc03349
=== modified file 'bzrlib/lock.py'
--- a/bzrlib/lock.py 2009-05-08 15:39:11 +0000
+++ b/bzrlib/lock.py 2009-06-03 22:33:59 +0000
@@ -391,7 +391,6 @@
LOCK_NB = LOCKFILE_FAIL_IMMEDIATELY
_LockFileEx = ctypes.windll.kernel32.LockFileEx
_UnlockFileEx = ctypes.windll.kernel32.UnlockFileEx
- _GetLastError = ctypes.windll.kernel32.GetLastError
### Define the OVERLAPPED structure.
# http://msdn2.microsoft.com/en-us/library/ms684342.aspx
@@ -440,8 +439,8 @@
ctypes.byref(overlapped), # lpOverlapped
)
if result == 0:
+ last_err = ctypes.GetLastError()
self._clear_f()
- last_err = _GetLastError()
if last_err in (ERROR_LOCK_VIOLATION,):
raise errors.LockContention(filename)
raise errors.LockContention(filename,
@@ -455,12 +454,12 @@
0x00000000, # DWORD nNumberOfBytesToLockHigh
ctypes.byref(overlapped), # lpOverlapped
)
- self._clear_f()
if result == 0:
+ last_err = ctypes.GetLastError()
self._clear_f()
- last_err = _GetLastError()
raise errors.LockContention(self.filename,
'Unknown unlocking error: %s' % (last_err,))
+ self._clear_f()
class _ctypes_ReadLock(_ctypes_FileLock):
More information about the bazaar-commits
mailing list