aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2013-02-02 19:08:34 +0000
committerRob Austein <sra@hactrn.net>2013-02-02 19:08:34 +0000
commit61ecf6aea80a96e4008ea7fa73c5bb5fd0597bc1 (patch)
tree071c97390893d01505c9099dccd70667e0eaff6d
parent6ef867d68cc340f7322e9ae5d29af55900dca69f (diff)
Exit without whining when another process holds the lock.
svn path=/branches/tk377/; revision=5014
-rw-r--r--rcynic/rcynic-cron.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/rcynic/rcynic-cron.py b/rcynic/rcynic-cron.py
index a2875401..4687ff5b 100644
--- a/rcynic/rcynic-cron.py
+++ b/rcynic/rcynic-cron.py
@@ -32,6 +32,7 @@ import sys
import fcntl
import os
import pwd
+import errno
we_are_root = os.getuid() == 0
@@ -71,7 +72,10 @@ try:
pw = pwd.getpwnam(ac_rcynic_user)
os.fchown(lock, pw.pw_uid, pw.pw_gid)
except (IOError, OSError), e:
- sys.exit("Error %r opening lock %r" % (e.strerror, os.path.join(ac_rcynic_dir, "data/lock")))
+ if e.errno == errno.EAGAIN:
+ sys.exit(0) # Another instance of this script is already running, exit silently
+ else:
+ sys.exit("Error %r opening lock %r" % (e.strerror, os.path.join(ac_rcynic_dir, "data/lock")))
run(bin("rcynic", chroot = True), "-c", etc("rcynic.conf", chroot = True), chroot = True)