From 4958b41e8a4807c9c4dba519951a97aad53b4745 Mon Sep 17 00:00:00 2001 From: Michael Hanselmann <hansmi@google.com> Date: Thu, 8 Dec 2011 15:35:23 +0100 Subject: [PATCH] daemon.GenericMain: Don't generate backtrace on conflicting daemons Instead, print a nicer error message. This should fix issue 200. Signed-off-by: Michael Hanselmann <hansmi@google.com> Reviewed-by: Iustin Pop <iustin@google.com> --- lib/daemon.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/daemon.py b/lib/daemon.py index f5e18a25b..31447277d 100644 --- a/lib/daemon.py +++ b/lib/daemon.py @@ -687,7 +687,12 @@ def GenericMain(daemon_name, optionparser, signal.signal(signal.SIGHUP, compat.partial(_HandleSigHup, [log_reopen_fn, stdio_reopen_fn])) - utils.WritePidFile(utils.DaemonPidFileName(daemon_name)) + try: + utils.WritePidFile(utils.DaemonPidFileName(daemon_name)) + except errors.PidFileLockError, err: + print >> sys.stderr, "Error while locking PID file:\n%s" % err + sys.exit(constants.EXIT_FAILURE) + try: try: logging.info("%s daemon startup", daemon_name) -- GitLab