def release(self, who, name): try: self.get_lock(who, name).release() except thread.error, e: raise ValueError('%s: cannot unlock %s: %s' % (who, name, e)) logger.info('%s released %s', who, name)