summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2012-10-18 10:00:19 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2012-10-18 10:00:42 -0400
commitc7b3020087ca72d3fce48317ab83fdece452e913 (patch)
tree126c9c0a2e592dd78746d2bb8b38c20a70e64cc3 /src
parent121a785c7c110c1eb836b5f99ba493293350b4c3 (diff)
downloadbcfg2-c7b3020087ca72d3fce48317ab83fdece452e913.tar.gz
bcfg2-c7b3020087ca72d3fce48317ab83fdece452e913.tar.bz2
bcfg2-c7b3020087ca72d3fce48317ab83fdece452e913.zip
use daemon.pid[lock]file.PIDLockFile to write PID file
Diffstat (limited to 'src')
-rw-r--r--src/lib/Bcfg2/Server/BuiltinCore.py26
1 files changed, 7 insertions, 19 deletions
diff --git a/src/lib/Bcfg2/Server/BuiltinCore.py b/src/lib/Bcfg2/Server/BuiltinCore.py
index 889e4d4d6..a15aadc49 100644
--- a/src/lib/Bcfg2/Server/BuiltinCore.py
+++ b/src/lib/Bcfg2/Server/BuiltinCore.py
@@ -10,24 +10,12 @@ from Bcfg2.Server.Core import BaseCore, NoExposedMethod
from Bcfg2.Compat import xmlrpclib, urlparse
from Bcfg2.SSLServer import XMLRPCServer
-
-class PidFile(object):
- """ Context handler used by :class:`daemon.DaemonContext` to write
- the PID file. """
-
- def __init__(self, pidfile):
- """
- :param pidfile: The full path to the PID file to write on
- entering the context handler
- :type pidfile: string
- """
- self.pidfile = pidfile
-
- def __enter__(self):
- open(self.pidfile, "w").write("%s\n" % os.getpid())
-
- def __exit__(self, exc_type, exc_value, exc_traceback):
- os.unlink(self.pidfile)
+# pylint: disable=E0611
+try:
+ from daemon.pidfile import PIDLockFile
+except ImportError:
+ from daemon.pidlockfile import PIDLockFile
+# pylint: enable=E0611
class Core(BaseCore):
@@ -47,7 +35,7 @@ class Core(BaseCore):
self.context = \
daemon.DaemonContext(uid=self.setup['daemon_uid'],
gid=self.setup['daemon_gid'],
- pidfile=PidFile(self.setup['daemon']))
+ pidfile=PIDLockFile(self.setup['daemon']))
__init__.__doc__ = BaseCore.__init__.__doc__.split('.. -----')[0]
def _dispatch(self, method, args, dispatch_dict):