From 0133a9e81fe9cee4acbe88941c517006c002197e Mon Sep 17 00:00:00 2001 From: Brian Dolbec Date: Sat, 19 Jan 2013 17:50:26 -0800 Subject: [PATCH] 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 2d10d2fa..ef00b49c 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 562f9ab1..4648a643 100755 --- a/catalyst/main.py +++ b/catalyst/main.py @@ -21,7 +21,8 @@ sys.path.append(__selfpath__ + "/modules") 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 (required_build_targets, valid_build_targets, hash_definitions, confdefaults, option_messages ) diff --git a/catalyst/support.py b/catalyst/support.py index fe2c7007..0940db58 100644 --- a/catalyst/support.py +++ b/catalyst/support.py @@ -114,17 +114,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) -- 2.26.2