summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Reporting
diff options
context:
space:
mode:
authorTim Laszlo <tim.laszlo@gmail.com>2012-10-18 08:55:32 -0500
committerTim Laszlo <tim.laszlo@gmail.com>2012-10-18 08:55:32 -0500
commitd26d42b2fccfd4e76f6c9d3938a91b7e4eaadf52 (patch)
treec6481a22136c6196e67919ca7d3cd7671dc1c3b2 /src/lib/Bcfg2/Reporting
parenta2163abfc13414dccfd428aa7c4042f4c17e901a (diff)
downloadbcfg2-d26d42b2fccfd4e76f6c9d3938a91b7e4eaadf52.tar.gz
bcfg2-d26d42b2fccfd4e76f6c9d3938a91b7e4eaadf52.tar.bz2
bcfg2-d26d42b2fccfd4e76f6c9d3938a91b7e4eaadf52.zip
Switch from lockfile to PIDLockFile
Diffstat (limited to 'src/lib/Bcfg2/Reporting')
-rw-r--r--src/lib/Bcfg2/Reporting/Collector.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/lib/Bcfg2/Reporting/Collector.py b/src/lib/Bcfg2/Reporting/Collector.py
index b27a961fd..2214e775f 100644
--- a/src/lib/Bcfg2/Reporting/Collector.py
+++ b/src/lib/Bcfg2/Reporting/Collector.py
@@ -1,10 +1,10 @@
import atexit
import daemon
-import lockfile
import logging
import time
import traceback
import threading
+from daemon.pidlockfile import PIDLockFile, PIDFileError
import Bcfg2.Logger
from Bcfg2.Reporting.Transport import load_transport_from_config, \
@@ -79,8 +79,14 @@ class ReportingCollector(object):
if self.setup['daemon']:
self.logger.debug("Daemonizing")
- self.context.pidfile = lockfile.FileLock(self.setup['daemon'])
- self.context.open()
+ try:
+ self.context.pidfile = PIDLockFile(self.setup['daemon'])
+ self.context.open()
+ except PIDFileError:
+ self.logger.error("Error writing pid file: %s" %
+ traceback.format_exc().splitlines()[-1])
+ self.shutdown()
+ return
self.logger.info("Starting daemon")
self.transport.start_monitor(self)