From 6d054f737ca0087b755e6c5dd731d921be0d83f0 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Mon, 10 Nov 2008 10:11:19 +0000
Subject: [PATCH] Move logfile and pidfile opening to first process, to let
 user view errors when those fiels cannot be opened.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@24537 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/TIDStorage/bin/server.py | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/product/TIDStorage/bin/server.py b/product/TIDStorage/bin/server.py
index 9fd992f7ed..f22f1f62a1 100755
--- a/product/TIDStorage/bin/server.py
+++ b/product/TIDStorage/bin/server.py
@@ -734,17 +734,20 @@ signal.signal(signal.SIGUSR1, USR1Handler)
 signal.signal(signal.SIGTERM, TERMHandler)
 
 if options.fork:
+  os.chdir('/')
+  os.umask(027)
+  logfile = LogFile(options.logfile_name)
+  pidfile = open(options.pidfile_name, 'w')
   pid = os.fork()
   if pid == 0:
-    os.umask(027)
     os.setsid()
     pid = os.fork()
     if pid == 0:
+      pidfile.close()
       os.close(0)
       os.close(1)
       os.close(2)
-      sys.stdout = sys.stderr = LogFile(options.logfile_name)
-      os.chdir('/')
+      sys.stdout = sys.stderr = logfile
       try:
         main(options.address, options.port)
       except:
@@ -755,12 +758,10 @@ if options.fork:
       else:
         log('Exited normaly.')
     else:
-      pidfile = open(options.pidfile_name, 'w')
       pidfile.write(str(pid))
       pidfile.close()
       os._exit(0)
   else:
-    # TODO: monitor child startup to make it easier to use.
     os._exit(0)
 else:
   main(options.address, options.port)
-- 
2.30.9