~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/lock.py

(gz) Remove bzrlib/util/elementtree/ package (Martin Packman)

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
 
 
18
17
"""Locking using OS file locks or file existence.
19
18
 
20
19
Note: This method of locking is generally deprecated in favour of LockDir, but
34
33
unlock() method.
35
34
"""
36
35
 
 
36
from __future__ import absolute_import
 
37
 
37
38
import errno
38
39
import os
39
40
import sys
46
47
    trace,
47
48
    )
48
49
from bzrlib.hooks import Hooks
49
 
 
 
50
from bzrlib.i18n import gettext
50
51
 
51
52
class LockHooks(Hooks):
52
53
 
171
172
            self.f.close()
172
173
            self.f = None
173
174
 
174
 
    def __del__(self):
175
 
        if self.f:
176
 
            from warnings import warn
177
 
            warn("lock on %r not released" % self.f)
178
 
            self.unlock()
179
 
 
180
175
    def unlock(self):
181
176
        raise NotImplementedError()
182
177
 
541
536
    locked the same way), and -Drelock is set, then this will trace.note a
542
537
    message about it.
543
538
    """
544
 
    
 
539
 
545
540
    _prev_lock = None
546
541
 
547
542
    def _note_lock(self, lock_type):
550
545
                type_name = 'read'
551
546
            else:
552
547
                type_name = 'write'
553
 
            trace.note('%r was %s locked again', self, type_name)
 
548
            trace.note(gettext('{0!r} was {1} locked again'), self, type_name)
554
549
        self._prev_lock = lock_type
555
550