def get_lock(fn, wait=5*60, max_age=3600*6):
try:
- stat = os.stat(fn)
- if stat[ST_MTIME] < time.time() - max_age:
- sys.stderr.write("Removing stale lock %s"%(fn))
- os.unlink(fn)
+ stat = os.stat(fn + '.lock')
+ if stat.st_mtime < time.time() - max_age:
+ sys.stderr.write("Removing stale lock %s"%(fn + '.lock'))
+ os.unlink(fn + '.lock')
except OSError, error:
if error.errno == errno.ENOENT:
pass
if x[1].has_key("subGroup") != 0:
SubGroupMap.setdefault(x[1]["gid"][0], []).extend(x[1]["subGroup"])
+lock = None
try:
- lockfile = os.path.join(GenerateDir, 'ud-generate.lock')
- lock = get_lock( lockfile )
+ lockf = os.path.join(GenerateDir, 'ud-generate.lock')
+ lock = get_lock( lockf )
if lock is None:
- sys.stderr.write("Could not acquire lock %s.\n"%(lockfile))
+ sys.stderr.write("Could not acquire lock %s.\n"%(lockf))
sys.exit(1)
generate_all(GenerateDir, l)
finally:
- if not lock is None:
+ if lock is not None:
lock.release()
# vim:set et: