From c3dcc1a34775de707f638c03419c6ca687e4ff6c Mon Sep 17 00:00:00 2001 From: Manuela Kuhn <manuela.kuhn@desy.de> Date: Thu, 30 Jul 2015 11:37:30 +0200 Subject: [PATCH] Set linger=0 on zmq socket close --- ZeroMQTunnel/fileMover.py | 12 ++++++------ ZeroMQTunnel/receiver.py | 13 ++++--------- ZeroMQTunnel/watcher_lsyncd.py | 4 ++-- 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/ZeroMQTunnel/fileMover.py b/ZeroMQTunnel/fileMover.py index adbc5283..17dd869a 100644 --- a/ZeroMQTunnel/fileMover.py +++ b/ZeroMQTunnel/fileMover.py @@ -92,9 +92,9 @@ class WorkerProcess(): self.log.debug("Error was: " + str(trace)) self.log.info("Closing sockets") - self.zmqDataStreamSocket.close() - self.routerSocket.close() - self.cleanerSocket.close() + self.zmqDataStreamSocket.close(0) + self.routerSocket.close(0) + self.cleanerSocket.close(0) self.zmqContextForWorker.destroy() @@ -553,8 +553,8 @@ class FileMover(): def stop(self): - self.messageSocket.close() - self.routerSocket.close() + self.messageSocket.close(0) + self.routerSocket.close(0) @@ -606,7 +606,7 @@ class Cleaner(): self.log.error("Stopping cleanerProcess due to unknown error condition.") self.log.debug("Error was: " + str(trace)) - self.zmqCleanerSocket.close() + self.zmqCleanerSocket.close(0) self.zmqContextForCleaner.destroy() diff --git a/ZeroMQTunnel/receiver.py b/ZeroMQTunnel/receiver.py index 084c726a..48e369f2 100644 --- a/ZeroMQTunnel/receiver.py +++ b/ZeroMQTunnel/receiver.py @@ -255,7 +255,7 @@ class FileReceiver: self.log.debug("stopReceiving...") try: - zmqSocket.close() + zmqSocket.close(0) self.log.debug("closing zmqSocket...done.") except: self.log.error("closing zmqSocket...failed.") @@ -265,7 +265,7 @@ class FileReceiver: self.exchangeSocket.send("Exit") # give the signal time to arrive time.sleep(0.1) - self.exchangeSocket.close() + self.exchangeSocket.close(0) self.log.debug("sending exit signal to thread...done") try: @@ -406,14 +406,9 @@ class Coordinator: except zmq.error.ContextTerminated: break - self.log.debug("sending exit signal to thread...") - self.zmqliveViewerSocket.send("Exit") - # give the signal time to arrive - time.sleep(0.1) - self.log.debug("Closing socket") - self.receiverExchangeSocket.close() - self.zmqliveViewerSocket.close() + self.receiverExchangeSocket.close(0) + self.zmqliveViewerSocket.close(0) def addFileToRingBuffer(self, filename, fileModTime): diff --git a/ZeroMQTunnel/watcher_lsyncd.py b/ZeroMQTunnel/watcher_lsyncd.py index 080c2c59..29700a83 100644 --- a/ZeroMQTunnel/watcher_lsyncd.py +++ b/ZeroMQTunnel/watcher_lsyncd.py @@ -129,7 +129,7 @@ class DirectoryWatcherHandler(): raise Exception(e) def shuttingDown(self): - self.messageSocket.close() + self.messageSocket.close(0) def getDefaultConfig_logfilePath(): @@ -323,7 +323,7 @@ if __name__ == '__main__': except KeyboardInterrupt: logging.info("Keyboard interruption detected. Shuting down") - workers.close() + workers.close(0) directoryWatcher.shuttingDown() zmqContext.destroy() -- GitLab