X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=ud-generate;h=560518ec26c144b2494f88e76e086df31f507576;hb=04409346418395c9f00c5f4a8244ce1d3512b446;hp=f00cf6ecf8ec4741caea292121fd7a8bd9a58d21;hpb=a794b4d5308e09429e0eb85fcea3316e462fc7a0;p=mirror%2Fuserdir-ldap.git diff --git a/ud-generate b/ud-generate index f00cf6e..560518e 100755 --- a/ud-generate +++ b/ud-generate @@ -91,10 +91,10 @@ def safe_rmtree(dir): 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 @@ -1242,17 +1242,18 @@ for x in attrs: 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: