From 2e3775a71066ebafc796a9e5af4f661af6acd967 Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Wed, 12 Mar 2008 21:10:21 +0000 Subject: Harden daemonization against failures git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@4416 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Daemon.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/lib/Daemon.py b/src/lib/Daemon.py index edb8bc40e..bdce2c179 100644 --- a/src/lib/Daemon.py +++ b/src/lib/Daemon.py @@ -20,7 +20,7 @@ def daemonize(filename): raise SystemExit, 1 except OSError: pidfile.close() - except IOError: + except (IOError, ValueError): # pid file doesn't pass @@ -30,9 +30,12 @@ def daemonize(filename): os.setsid() # Create new session pid = os.fork() if pid != 0: - pidfile = open(filename, "w") - pidfile.write("%i" % pid) - pidfile.close() + try: + pidfile = open(filename, "w") + pidfile.write("%i" % pid) + pidfile.close() + except: + print "Failed to write pid file %s" % filename os._exit(0) os.chdir("/") os.umask(0) -- cgit v1.2.3-1-g7c22