41 lines
1.1 KiB
Diff
41 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)
|