--- pymsn-t/src/main.py 2008-04-04 17:45:43.000000000 +0400 +++ pymsn-t/src/main.py 2008-08-05 17:44:17.000000000 +0400 @@ -91,6 +91,7 @@ from twisted.words.xish.domish import Element from twisted.words.protocols.jabber import component from twisted.words.protocols.jabber.jid import internJID +from twisted.python import log from debug import LogEvent, INFO, WARN, ERROR @@ -352,13 +353,29 @@ pf = open(config.pid, "w") pf.write("%s\n" % pid) pf.close() + + def removePID(self, pidfile): + # Remove a PID file + if not pidfile: + return + try: + os.unlink(pidfile) + except OSError, e: + if e.errno == errno.EACCES or e.errno == errno.EPERM: + log.msg("Warning: No permission to delete pid file") + else: + log.msg("Failed to unlink PID file:") + log.deferr() + except: + log.msg("Failed to unlink PID file:") + log.deferr() def shuttingDown(self): self.transportSvc.removeMe() # Keep the transport running for another 3 seconds def cb(ignored=None): if config.pid: - twistd.removePID(config.pid) + self.removePID(config.pid) d = Deferred() d.addCallback(cb) reactor.callLater(3.0, d.callback, None)