mercurial/lock.py
branchstable
changeset 32088 0d892d820a51
parent 32087 e1938d6051da
child 35208 1b758105b5c7
equal deleted inserted replaced
32087:e1938d6051da 32088:0d892d820a51
   148                                              self.vfs.join(self.f), self.desc,
   148                                              self.vfs.join(self.f), self.desc,
   149                                              locker)
   149                                              locker)
   150                 else:
   150                 else:
   151                     raise error.LockUnavailable(why.errno, why.strerror,
   151                     raise error.LockUnavailable(why.errno, why.strerror,
   152                                                 why.filename, self.desc)
   152                                                 why.filename, self.desc)
       
   153 
       
   154         if not self.held:
       
   155             # use empty locker to mean "busy for frequent lock/unlock
       
   156             # by many processes"
       
   157             raise error.LockHeld(errno.EAGAIN,
       
   158                                  self.vfs.join(self.f), self.desc, "")
   153 
   159 
   154     def _readlock(self):
   160     def _readlock(self):
   155         """read lock and return its value
   161         """read lock and return its value
   156 
   162 
   157         Returns None if no lock exists, pid for old-style locks, and host:pid
   163         Returns None if no lock exists, pid for old-style locks, and host:pid