gentoo-overlay/net-im/pymsn-t/files/pymsn-t-0.11.3-remove-pid.p...

42 lines
1.1 KiB
Diff

--- 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)