# HG changeset patch # User Sylvain Thénault # Date 1249542266 -7200 # Node ID 7aee3bd7a7043b8a6ff1d0decec19dc47b2a498c # Parent 40789c3044f3b667a09c31273a8c2b1dacfc4d82 ensure runtime dir exists diff -r 40789c3044f3 -r 7aee3bd7a704 etwist/server.py --- a/etwist/server.py Wed Aug 05 19:14:39 2009 +0200 +++ b/etwist/server.py Thu Aug 06 09:04:26 2009 +0200 @@ -370,6 +370,11 @@ if not debug: daemonize() if config['pid-file']: + # ensure the directory where the pid-file should be set exists (for + # instance /var/run/cubicweb may be deleted on computer restart) + piddir = os.path.dirname(config['pid-file']) + if not os.path.exists(piddir): + os.makedirs(piddir) file(config['pid-file'], 'w').write(str(os.getpid())) if config['profile']: prof = hotshot.Profile(config['profile']) diff -r 40789c3044f3 -r 7aee3bd7a704 server/serverctl.py --- a/server/serverctl.py Wed Aug 05 19:14:39 2009 +0200 +++ b/server/serverctl.py Thu Aug 06 09:04:26 2009 +0200 @@ -458,7 +458,13 @@ # create the server server = RepositoryServer(config, debug) # go ! (don't daemonize in debug mode) - if not debug and server.daemonize(config['pid-file']) == -1: + pidfile = config['pid-file'] + # ensure the directory where the pid-file should be set exists (for + # instance /var/run/cubicweb may be deleted on computer restart) + piddir = os.path.dirname(pidfile) + if not os.path.exists(piddir): + os.makedirs(piddir) + if not debug and server.daemonize(pidfile) == -1: return uid = config['uid'] if uid is not None: