218
218
# rename before deleting, because we can't atomically remove the whole
220
220
tmpname = '%s/releasing.%s.tmp' % (self.path, rand_chars(20))
221
223
self.transport.rename(self._held_dir, tmpname)
223
225
self.transport.delete(tmpname + self.__INFO_NAME)
224
226
self.transport.rmdir(tmpname)
226
246
def force_break(self, dead_holder_info):
227
247
"""Release a lock held by another process.