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 67DB31391DB for ; Sun, 15 Jun 2014 14:56:28 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id B69F0E0A9C; Sun, 15 Jun 2014 14:56:27 +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 32586E0B16 for ; Sun, 15 Jun 2014 14:56:26 +0000 (UTC) Received: from spoonbill.gentoo.org (spoonbill.gentoo.org [81.93.255.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 0901633FF43 for ; Sun, 15 Jun 2014 14:56:26 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by spoonbill.gentoo.org (Postfix) with ESMTP id A18FD187EB for ; Sun, 15 Jun 2014 14:56:24 +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: <1402840923.1256ad85e2bc4f5e1ea4d15b917a6365a8cb5950.dol-sen@gentoo> Subject: [gentoo-commits] proj/catalyst:pending commit in: catalyst/ X-VCS-Repository: proj/catalyst X-VCS-Files: catalyst/lock.py catalyst/main.py catalyst/support.py X-VCS-Directories: catalyst/ X-VCS-Committer: dol-sen X-VCS-Committer-Name: Brian Dolbec X-VCS-Revision: 1256ad85e2bc4f5e1ea4d15b917a6365a8cb5950 X-VCS-Branch: pending Date: Sun, 15 Jun 2014 14:56:24 +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: 95bf9083-9b60-439f-8ce6-c7824bdcde28 X-Archives-Hash: 38e2f2e82e9e021e20ccba98bca45703 commit: 1256ad85e2bc4f5e1ea4d15b917a6365a8cb5950 Author: Brian Dolbec gentoo org> AuthorDate: Sun Jan 20 01:50:26 2013 +0000 Commit: Brian Dolbec gmail com> CommitDate: Sun Jun 15 14:02:03 2014 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/catalyst.git;a=commit;h=1256ad85 Move LockInUse from support.py to lock.py, fix bad execption raising, pyflakes cleanup --- catalyst/lock.py | 49 +++++++++++++++++++++++++++++++------------------ catalyst/main.py | 3 ++- catalyst/support.py | 11 ----------- 3 files changed, 33 insertions(+), 30 deletions(-) diff --git a/catalyst/lock.py b/catalyst/lock.py index 2d10d2f..ef00b49 100644 --- a/catalyst/lock.py +++ b/catalyst/lock.py @@ -3,14 +3,26 @@ import os import fcntl import errno import sys -import string import time -from catalyst.support import * +from catalyst.support import CatalystError def writemsg(mystr): sys.stderr.write(mystr) sys.stderr.flush() + +class LockInUse(Exception): + def __init__(self, message): + if message: + #(type,value)=sys.exc_info()[:2] + #if value!=None: + #print + #kprint traceback.print_exc(file=sys.stdout) + print + print "!!! catalyst lock file in use: "+message + print + + class LockDir: locking_method=fcntl.flock lock_dirs_in_use=[] @@ -109,7 +121,8 @@ class LockDir: def fcntl_lock(self,locktype): if self.myfd==None: if not os.path.exists(os.path.dirname(self.lockdir)): - raise DirectoryNotFound, os.path.dirname(self.lockdir) + raise CatalystError("DirectoryNotFound: %s" + % os.path.dirname(self.lockdir)) if not os.path.exists(self.lockfile): old_mask=os.umask(000) self.myfd = os.open(self.lockfile, os.O_CREAT|os.O_RDWR,0660) @@ -168,7 +181,7 @@ class LockDir: print "lockfile does not exist '%s'" % self.lockfile if (self.myfd != None): try: - os.close(myfd) + os.close(self.myfd) self.myfd=None except: pass @@ -251,12 +264,13 @@ class LockDir: self.add_hardlock_file_to_cleanup() if not os.path.exists(self.myhardlock): - raise FileNotFound, "Created lockfile is missing: %(filename)s" % {"filename":self.myhardlock} + raise CatalystError("FileNotFound: Created lockfile is missing: " + "%(filename)s" % {"filename":self.myhardlock}) try: - res = os.link(self.myhardlock, self.lockfile) - except SystemExit, e: + os.link(self.myhardlock, self.lockfile) + except SystemExit: raise - except Exception, e: + except Exception: # if "DEBUG" in self.settings: # print "lockfile(): Hardlink: Link failed." # print "Exception: ",e @@ -286,7 +300,7 @@ class LockDir: os.unlink(self.myhardlock) if os.path.exists(self.lockfile): os.unlink(self.lockfile) - except SystemExit, e: + except SystemExit: raise except: writemsg("Something strange happened to our hardlink locks.\n") @@ -314,7 +328,7 @@ class LockDir: try: myhls = os.stat(link) mylfs = os.stat(lock) - except SystemExit, e: + except SystemExit: raise except: myhls = None @@ -340,7 +354,7 @@ class LockDir: pass def hardlock_cleanup(self,path): - mypid = str(os.getpid()) + #mypid = str(os.getpid()) myhost = os.uname()[1] mydl = os.listdir(path) results = [] @@ -384,26 +398,26 @@ class LockDir: # We're sweeping through, unlinking everyone's locks. os.unlink(filename) results.append("Unlinked: " + filename) - except SystemExit, e: + except SystemExit: raise - except Exception,e: + except Exception: pass try: os.unlink(x) results.append("Unlinked: " + x) os.unlink(mylockname) results.append("Unlinked: " + mylockname) - except SystemExit, e: + except SystemExit: raise - except Exception,e: + except Exception: pass else: try: os.unlink(mylockname) results.append("Unlinked: " + mylockname) - except SystemExit, e: + except SystemExit: raise - except Exception,e: + except Exception: pass return results @@ -423,7 +437,6 @@ if __name__ == "__main__": return newpath print "Lock 5 starting" - import time Lock1=LockDir("/tmp/lock_path") Lock1.write_lock() print "Lock1 write lock" diff --git a/catalyst/main.py b/catalyst/main.py index 81d48b5..15664de 100644 --- a/catalyst/main.py +++ b/catalyst/main.py @@ -21,7 +21,8 @@ sys.path.append(__selfpath__ + "/modules") from . import __version__ import catalyst.config import catalyst.util -from catalyst.support import CatalystError, find_binary, LockInUse +from catalyst.lock import LockInUse +from catalyst.support import CatalystError, find_binary from catalyst.defaults import (confdefaults, option_messages, required_build_targets, valid_build_targets) from hash_utils import HashMap, HASH_DEFINITIONS diff --git a/catalyst/support.py b/catalyst/support.py index d5dbfec..feaa645 100644 --- a/catalyst/support.py +++ b/catalyst/support.py @@ -115,17 +115,6 @@ class CatalystError(Exception): print "!!! catalyst: "+message print -class LockInUse(Exception): - def __init__(self, message): - if message: - #(type,value)=sys.exc_info()[:2] - #if value!=None: - #print - #kprint traceback.print_exc(file=sys.stdout) - print - print "!!! catalyst lock file in use: "+message - print - def die(msg=None): warn(msg) sys.exit(1)