summaryrefslogtreecommitdiff
path: root/daemon.py
diff options
context:
space:
mode:
authorSylvain Th?nault <sylvain.thenault@logilab.fr>2010-07-01 18:37:37 +0200
committerSylvain Th?nault <sylvain.thenault@logilab.fr>2010-07-01 18:37:37 +0200
commit0b746fa27a94ea7d1dab5aafe7cb9ab476ccb623 (patch)
treeb7f6732736e387d731d28da9da3159a6c2ae95e3 /daemon.py
parent13825514749b3577d9c7df11a848c1ecbc0d1cba (diff)
downloadlogilab-common-0b746fa27a94ea7d1dab5aafe7cb9ab476ccb623.tar.gz
don't raise string exception in testlib (closes #35331)
Diffstat (limited to 'daemon.py')
-rw-r--r--daemon.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/daemon.py b/daemon.py
index 3c20507..a16e10a 100644
--- a/daemon.py
+++ b/daemon.py
@@ -27,7 +27,7 @@ import time
import warnings
-def daemonize(pidfile):
+def daemonize(pidfile=None, uid=None):
# See http://www.erlenstar.demon.co.uk/unix/faq_toc.html#TOC16
# XXX unix specific
#
@@ -66,6 +66,14 @@ def daemonize(pidfile):
f = file(pidfile, 'w')
f.write(str(os.getpid()))
f.close()
+ # change process uid
+ if uid:
+ try:
+ uid = int(uid)
+ except ValueError:
+ from pwd import getpwnam
+ uid = getpwnam(uid).pw_uid
+ os.setuid(uid)
return None