diff options
author | Tim Laszlo <tim.laszlo@gmail.com> | 2012-10-18 08:55:32 -0500 |
---|---|---|
committer | Tim Laszlo <tim.laszlo@gmail.com> | 2012-10-18 08:55:32 -0500 |
commit | d26d42b2fccfd4e76f6c9d3938a91b7e4eaadf52 (patch) | |
tree | c6481a22136c6196e67919ca7d3cd7671dc1c3b2 /src/lib | |
parent | a2163abfc13414dccfd428aa7c4042f4c17e901a (diff) | |
download | bcfg2-d26d42b2fccfd4e76f6c9d3938a91b7e4eaadf52.tar.gz bcfg2-d26d42b2fccfd4e76f6c9d3938a91b7e4eaadf52.tar.bz2 bcfg2-d26d42b2fccfd4e76f6c9d3938a91b7e4eaadf52.zip |
Switch from lockfile to PIDLockFile
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/Bcfg2/Reporting/Collector.py | 12 |
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) |