fix breaking old ud-generate locks.
[mirror/userdir-ldap.git] / ud-generate
index 70c6efa..560518e 100755 (executable)
@@ -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,6 +1242,7 @@ for x in attrs:
    if x[1].has_key("subGroup") != 0:
       SubGroupMap.setdefault(x[1]["gid"][0], []).extend(x[1]["subGroup"])
 
+lock = None
 try:
    lockf = os.path.join(GenerateDir, 'ud-generate.lock')
    lock = get_lock( lockf )
@@ -1252,7 +1253,7 @@ try:
    generate_all(GenerateDir, l)
 
 finally:
-   if not lock is None:
+   if lock is not None:
       lock.release()
 
 # vim:set et: