~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/lock.py

  • Committer: John Arbash Meinel
  • Date: 2006-06-30 17:25:27 UTC
  • mto: (1711.4.39 win32-accepted)
  • mto: This revision was merged to the branch mainline in revision 1836.
  • Revision ID: john@arbash-meinel.com-20060630172527-6d36c06a13dc7110
always close files, minor PEP8 cleanup

Show diffs side-by-side

added added

removed removed

Lines of Context:
41
41
from bzrlib.trace import mutter
42
42
from bzrlib.errors import LockError
43
43
 
44
 
 
45
44
class _base_Lock(object):
46
45
    def _open(self, filename, filemode):
47
46
        try:
66
65
    def unlock(self):
67
66
        raise NotImplementedError()
68
67
 
 
68
        
 
69
 
 
70
 
 
71
 
69
72
 
70
73
############################################################
71
74
# msvcrt locks
126
129
                    overlapped = pywintypes.OVERLAPPED()
127
130
                    win32file.LockFileEx(self.hfile, lockmode, 0, 0x7fff0000, overlapped)
128
131
                except Exception, e:
129
 
                    if self.f:
130
 
                        self.f.close()
131
 
                        self.f = None
132
132
                    raise LockError(e)
133
133
 
134
134
            def unlock(self):
141
141
                    raise LockError(e)
142
142
 
143
143
 
 
144
 
144
145
        class _w32c_ReadLock(_w32c_FileLock):
145
146
            def __init__(self, filename):
146
147
                _w32c_FileLock._lock(self, filename, 'rb',
152
153
                                     LOCK_EX + LOCK_NB)
153
154
 
154
155
 
 
156
 
155
157
        WriteLock = _w32c_WriteLock
156
158
        ReadLock = _w32c_ReadLock
157
159
 
186
188
                    _msvc_lock(self._open(filename, 'wb'), self.LOCK_EX)
187
189
 
188
190
 
 
191
 
189
192
            def _msvc_lock(f, flags):
190
193
                try:
191
194
                    # Unfortunately, msvcrt.LK_RLCK is equivalent to msvcrt.LK_LOCK
241
244
                    raise LockError(e)
242
245
 
243
246
 
 
247
 
244
248
            WriteLock = _msvc_WriteLock
245
249
            ReadLock = _msvc_ReadLock
246
250
        except ImportError: