summaryrefslogtreecommitdiffstats
path: root/minion/utils.py
diff options
context:
space:
mode:
authorSeth Vidal <skvidal@fedoraproject.org>2007-09-25 10:41:40 -0400
committerSeth Vidal <skvidal@fedoraproject.org>2007-09-25 10:41:40 -0400
commit4ce41f6eb4bdef401dd767d48ea98a0883090972 (patch)
treef116135c24af74d335a16a28babe94215e961321 /minion/utils.py
parent04d9598cef8cd5501acba95040ee46d73c52dbef (diff)
parent6bf3d8bee599802c95832cbdae904ffce1053938 (diff)
downloadfunc-4ce41f6eb4bdef401dd767d48ea98a0883090972.tar.gz
func-4ce41f6eb4bdef401dd767d48ea98a0883090972.tar.xz
func-4ce41f6eb4bdef401dd767d48ea98a0883090972.zip
Merge branch 'master' of ssh://git.fedoraproject.org/git/hosted/func
* 'master' of ssh://git.fedoraproject.org/git/hosted/func: Renamed server to minion and client to overlord
Diffstat (limited to 'minion/utils.py')
-rwxr-xr-xminion/utils.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/minion/utils.py b/minion/utils.py
new file mode 100755
index 0000000..724c847
--- /dev/null
+++ b/minion/utils.py
@@ -0,0 +1,47 @@
+#!/usr/bin/python
+
+"""
+Copyright 2007, Red Hat, Inc
+see AUTHORS
+
+This software may be freely redistributed under the terms of the GNU
+general public license.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+"""
+
+import os
+import string
+import sys
+import traceback
+
+# this is kind of handy, so keep it around for now
+# but we really need to fix out server side logging and error
+# reporting so we don't need it
+def trace_me():
+ x = traceback.extract_stack()
+ bar = string.join(traceback.format_list(x))
+ return bar
+
+
+def daemonize(pidfile=None):
+ """
+ Daemonize this process with the UNIX double-fork trick.
+ Writes the new PID to the provided file name if not None.
+ """
+
+ print pidfile
+ pid = os.fork()
+ if pid > 0:
+ sys.exit(0)
+ os.setsid()
+ os.umask(0)
+ pid = os.fork()
+
+
+ if pid > 0:
+ if pidfile is not None:
+ open(pidfile, "w").write(str(pid))
+ sys.exit(0)