From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id A811313877A for ; Tue, 2 Sep 2014 23:10:34 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id D4402E0A95; Tue, 2 Sep 2014 23:10:33 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 12FF8E0A92 for ; Tue, 2 Sep 2014 23:10:32 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id E675033F7D6 for ; Tue, 2 Sep 2014 23:10:31 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id F0E8448E9 for ; Tue, 2 Sep 2014 23:10:28 +0000 (UTC) From: "Brian Dolbec" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Brian Dolbec" Message-ID: <1409699282.d1a47aaeeaa9622eaec08d850d6493313910b9e0.dol-sen@gentoo> Subject: [gentoo-commits] proj/catalyst:pending commit in: catalyst/ X-VCS-Repository: proj/catalyst X-VCS-Files: catalyst/lock.py X-VCS-Directories: catalyst/ X-VCS-Committer: dol-sen X-VCS-Committer-Name: Brian Dolbec X-VCS-Revision: d1a47aaeeaa9622eaec08d850d6493313910b9e0 X-VCS-Branch: pending Date: Tue, 2 Sep 2014 23:10:28 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: f2e4f8ba-be61-474e-8f19-46d3f9735228 X-Archives-Hash: 8df17936896c5ea37c278a5ac773eb4d commit: d1a47aaeeaa9622eaec08d850d6493313910b9e0 Author: Brian Dolbec gentoo org> AuthorDate: Tue Jan 22 08:34:41 2013 +0000 Commit: Brian Dolbec gmail com> CommitDate: Tue Sep 2 23:08:02 2014 +0000 URL: http://sources.gentoo.org/gitweb/?p=proj/catalyst.git;a=commit;h=d1a47aae FIXME! Comment out a small code block causing TypeError. This was also short circuiting another large code block. FIXME!!!! This whole class seems overly complicated with TOO MANY nested try:excepts: --- catalyst/lock.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/catalyst/lock.py b/catalyst/lock.py index 78968cb..c90f5b8 100644 --- a/catalyst/lock.py +++ b/catalyst/lock.py @@ -27,11 +27,17 @@ class LockDir: locking_method=fcntl.flock lock_dirs_in_use=[] die_on_failed_lock=True + def __del__(self): + #print "Lock.__del__() 1" self.clean_my_hardlocks() + #print "Lock.__del__() 2" self.delete_lock_from_path_list() + #print "Lock.__del__() 3" if self.islocked(): + #print "Lock.__del__() 4" self.fcntl_unlock() + #print "Lock.__del__() finnished" def __init__(self,lockdir): self.locked=False @@ -179,7 +185,9 @@ class LockDir: unlinkfile = 1 if not os.path.exists(self.lockfile): print "lockfile does not exist '%s'" % self.lockfile + #print "fcntl_unlock() , self.myfd:", self.myfd, type(self.myfd) if (self.myfd != None): + #print "fcntl_unlock() trying to close it " try: os.close(self.myfd) self.myfd=None @@ -193,11 +201,13 @@ class LockDir: unlinkfile = 1 self.locking_method(self.myfd,fcntl.LOCK_UN) except SystemExit, e: - raise + raise e except Exception, e: - os.close(self.myfd) - self.myfd=None - raise IOError, "Failed to unlock file '%s'\n" % self.lockfile + #if self.myfd is not None: + #print "fcntl_unlock() trying to close", self.myfd + #os.close(self.myfd) + #self.myfd=None + #raise IOError, "Failed to unlock file '%s'\n%s" % (self.lockfile, str(e)) try: # This sleep call was added to allow other processes that are # waiting for a lock to be able to grab it before it is deleted. @@ -224,7 +234,7 @@ class LockDir: # if "DEBUG" in self.settings: # print "Unlinked lockfile..." except SystemExit, e: - raise + raise e except Exception, e: # We really don't care... Someone else has the lock. # So it is their problem now. @@ -236,7 +246,7 @@ class LockDir: # open fd closed automatically on them. #if type(lockfilename) == types.StringType: # os.close(myfd) - + #print "fcntl_unlock() trying a last ditch close", self.myfd if (self.myfd != None): os.close(self.myfd) self.myfd=None @@ -421,6 +431,7 @@ class LockDir: pass return results + if __name__ == "__main__": def lock_work():