##// END OF EJS Templates
still raise IOError on missing config file...
still raise IOError on missing config file commit 0aa0be7060c2b1f13858abd4287b89c182aa7fb0 prevented creation of new profiles, because IOError is expected to be handled at a higher level. Now, IOErrors still propagate, and other errors cause warning messages.

File last commit:

r4019:3c996c36
r4465:e4a60c80
Show More
daemonize.py
26 lines | 831 B | text/x-python | PythonLexer
"""daemonize function from twisted.scripts._twistd_unix."""
#-----------------------------------------------------------------------------
# Copyright (c) Twisted Matrix Laboratories.
# See Twisted's LICENSE for details.
# http://twistedmatrix.com/
#-----------------------------------------------------------------------------
import os, errno
def daemonize():
# See http://www.erlenstar.demon.co.uk/unix/faq_toc.html#TOC16
if os.fork(): # launch child and...
os._exit(0) # kill off parent
os.setsid()
if os.fork(): # launch child and...
os._exit(0) # kill off parent again.
null = os.open('/dev/null', os.O_RDWR)
for i in range(3):
try:
os.dup2(null, i)
except OSError, e:
if e.errno != errno.EBADF:
raise
os.close(null)