~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/counted_lock.py

  • Committer: Robert Collins
  • Date: 2010-05-06 23:41:35 UTC
  • mto: This revision was merged to the branch mainline in revision 5223.
  • Revision ID: robertc@robertcollins.net-20100506234135-yivbzczw1sejxnxc
Lock methods on ``Tree``, ``Branch`` and ``Repository`` are now
expected to return an object which can be used to unlock them. This reduces
duplicate code when using cleanups. The previous 'tokens's returned by
``Branch.lock_write`` and ``Repository.lock_write`` are now attributes
on the result of the lock_write. ``repository.RepositoryWriteLockResult``
and ``branch.BranchWriteLockResult`` document this. (Robert Collins)

``log._get_info_for_log_files`` now takes an add_cleanup callable.
(Robert Collins)

Show diffs side-by-side

added added

removed removed

Lines of Context:
46
46
        self._lock_mode = None
47
47
        self._lock_count = 0
48
48
 
 
49
    def get_physical_lock_status(self):
 
50
        """Return physical lock status.
 
51
 
 
52
        Returns true if a lock is held on the transport. If no lock is held, or
 
53
        the underlying locking mechanism does not support querying lock
 
54
        status, false is returned.
 
55
        """
 
56
        try:
 
57
            return self._real_lock.peek() is not None
 
58
        except NotImplementedError:
 
59
            return False
 
60
 
49
61
    def is_locked(self):
50
62
        return self._lock_mode is not None
51
63