~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/lock.py

  • Committer: Martin Pool
  • Date: 2006-01-13 08:12:22 UTC
  • mfrom: (1185.63.5 bzr.patches)
  • Revision ID: mbp@sourcefrog.net-20060113081222-6b572004a2ade0cc
[merge] test_hashcache_raise from Denys

Show diffs side-by-side

added added

removed removed

Lines of Context:
52
52
                raise
53
53
 
54
54
            # maybe this is an old branch (before may 2005)
55
 
            mutter("trying to create missing branch lock %r" % filename)
 
55
            mutter("trying to create missing branch lock %r", filename)
56
56
            
57
57
            self.f = open(filename, 'wb')
58
58
            return self.f
112
112
        import win32con, win32file, pywintypes
113
113
 
114
114
 
115
 
        #LOCK_SH = 0 # the default
116
 
        #LOCK_EX = win32con.LOCKFILE_EXCLUSIVE_LOCK
117
 
        #LOCK_NB = win32con.LOCKFILE_FAIL_IMMEDIATELY
 
115
        LOCK_SH = 0 # the default
 
116
        LOCK_EX = win32con.LOCKFILE_EXCLUSIVE_LOCK
 
117
        LOCK_NB = win32con.LOCKFILE_FAIL_IMMEDIATELY
118
118
 
119
119
        class _w32c_FileLock(_base_Lock):
120
120
            def _lock(self, filename, openmode, lockmode):
139
139
 
140
140
        class _w32c_ReadLock(_w32c_FileLock):
141
141
            def __init__(self, filename):
142
 
                _w32c_FileLock._lock(self, filename, 'rb', 0)
 
142
                _w32c_FileLock._lock(self, filename, 'rb',
 
143
                                     LOCK_NB)
143
144
 
144
145
        class _w32c_WriteLock(_w32c_FileLock):
145
146
            def __init__(self, filename):
146
147
                _w32c_FileLock._lock(self, filename, 'wb',
147
 
                                     win32con.LOCKFILE_EXCLUSIVE_LOCK)
 
148
                                     LOCK_EX + LOCK_NB)
148
149
 
149
150
 
150
151