diff --git a/ChangeLog b/ChangeLog index 4983803c..06173d06 100644 --- a/ChangeLog +++ b/ChangeLog @@ -14,6 +14,8 @@ ver. 0.8.3 (2008/??/??) - stable Thanks to Yaroslav Halchenko. - Fixed socket path in redhat and suse init script. Thanks to Jim Wight. +- Fixed PID file while started in daemon mode. Thanks to + Christian Jobic who submitted a similar patch. ver. 0.8.2 (2008/03/06) - stable ---------- diff --git a/server/server.py b/server/server.py index f363ca6e..7a6640f3 100644 --- a/server/server.py +++ b/server/server.py @@ -59,15 +59,6 @@ class Server: def start(self, sock, force = False): logSys.info("Starting Fail2ban v" + version.version) - # Creates a PID file. - try: - logSys.debug("Creating PID file %s" % Server.PID_FILE) - pidFile = open(Server.PID_FILE, 'w') - pidFile.write("%s\n" % os.getpid()) - pidFile.close() - except IOError, e: - logSys.error("Unable to create PID file: %s" % e) - # Install signal handlers signal.signal(signal.SIGTERM, self.__sigTERMhandler) signal.signal(signal.SIGINT, self.__sigTERMhandler) @@ -81,6 +72,16 @@ class Server: else: logSys.error("Could not create daemon") raise ServerInitializationError("Could not create daemon") + + # Creates a PID file. + try: + logSys.debug("Creating PID file %s" % Server.PID_FILE) + pidFile = open(Server.PID_FILE, 'w') + pidFile.write("%s\n" % os.getpid()) + pidFile.close() + except IOError, e: + logSys.error("Unable to create PID file: %s" % e) + # Start the communication logSys.debug("Starting communication") try: