From c879b7a8e683b4b7f07984946c638dd24047082f Mon Sep 17 00:00:00 2001 From: Joel Bender Date: Wed, 11 Oct 2017 20:46:29 -0400 Subject: [PATCH 1/2] patch applied --- py25/bacpypes/bvllservice.py | 3 +++ py27/bacpypes/bvllservice.py | 3 +++ py34/bacpypes/bvllservice.py | 3 +++ 3 files changed, 9 insertions(+) diff --git a/py25/bacpypes/bvllservice.py b/py25/bacpypes/bvllservice.py index fe1fe29..ff31a48 100755 --- a/py25/bacpypes/bvllservice.py +++ b/py25/bacpypes/bvllservice.py @@ -102,6 +102,7 @@ class UDPMultiplexer: bind(self.direct, self.broadcastPort) else: self.broadcast = None + self.broadcastPort = None # create and bind the Annex H and J servers self.annexH = _MultiplexServer(self) @@ -112,8 +113,10 @@ class UDPMultiplexer: # pass along the close to the director(s) self.directPort.close_socket() + self.directPort.close() if self.broadcastPort: self.broadcastPort.close_socket() + self.broadcastPort.close() def indication(self, server, pdu): if _debug: UDPMultiplexer._debug("indication %r %r", server, pdu) diff --git a/py27/bacpypes/bvllservice.py b/py27/bacpypes/bvllservice.py index 56f41d5..6beafa4 100755 --- a/py27/bacpypes/bvllservice.py +++ b/py27/bacpypes/bvllservice.py @@ -103,6 +103,7 @@ class UDPMultiplexer: bind(self.direct, self.broadcastPort) else: self.broadcast = None + self.broadcastPort = None # create and bind the Annex H and J servers self.annexH = _MultiplexServer(self) @@ -113,8 +114,10 @@ class UDPMultiplexer: # pass along the close to the director(s) self.directPort.close_socket() + self.directPort.close() if self.broadcastPort: self.broadcastPort.close_socket() + self.broadcastPort.close() def indication(self, server, pdu): if _debug: UDPMultiplexer._debug("indication %r %r", server, pdu) diff --git a/py34/bacpypes/bvllservice.py b/py34/bacpypes/bvllservice.py index a4d99e8..b45fade 100755 --- a/py34/bacpypes/bvllservice.py +++ b/py34/bacpypes/bvllservice.py @@ -103,6 +103,7 @@ class UDPMultiplexer: bind(self.direct, self.broadcastPort) else: self.broadcast = None + self.broadcastPort = None # create and bind the Annex H and J servers self.annexH = _MultiplexServer(self) @@ -113,8 +114,10 @@ class UDPMultiplexer: # pass along the close to the director(s) self.directPort.close_socket() + self.directPort.close() if self.broadcastPort: self.broadcastPort.close_socket() + self.broadcastPort.close() def indication(self, server, pdu): if _debug: UDPMultiplexer._debug("indication %r %r", server, pdu) From 236375e3b49fbc115544e67a6961e9cb51e474cb Mon Sep 17 00:00:00 2001 From: Joel Bender Date: Mon, 16 Oct 2017 09:46:41 -0400 Subject: [PATCH 2/2] shuffle the close --- py25/bacpypes/bvllservice.py | 2 -- py25/bacpypes/udp.py | 2 ++ py27/bacpypes/bvllservice.py | 2 -- py27/bacpypes/udp.py | 2 ++ py34/bacpypes/bvllservice.py | 2 -- py34/bacpypes/udp.py | 2 ++ 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/py25/bacpypes/bvllservice.py b/py25/bacpypes/bvllservice.py index ff31a48..af4128c 100755 --- a/py25/bacpypes/bvllservice.py +++ b/py25/bacpypes/bvllservice.py @@ -113,10 +113,8 @@ class UDPMultiplexer: # pass along the close to the director(s) self.directPort.close_socket() - self.directPort.close() if self.broadcastPort: self.broadcastPort.close_socket() - self.broadcastPort.close() def indication(self, server, pdu): if _debug: UDPMultiplexer._debug("indication %r %r", server, pdu) diff --git a/py25/bacpypes/udp.py b/py25/bacpypes/udp.py index b917ad8..2ea59dd 100755 --- a/py25/bacpypes/udp.py +++ b/py25/bacpypes/udp.py @@ -253,6 +253,8 @@ class UDPDirector(asyncore.dispatcher, Server, ServiceAccessPoint): if _debug: UDPDirector._debug("close_socket") self.socket.close() + self.close() + self.socket = None def handle_close(self): """Remove this from the monitor when it's closed.""" diff --git a/py27/bacpypes/bvllservice.py b/py27/bacpypes/bvllservice.py index 6beafa4..5abb24e 100755 --- a/py27/bacpypes/bvllservice.py +++ b/py27/bacpypes/bvllservice.py @@ -114,10 +114,8 @@ class UDPMultiplexer: # pass along the close to the director(s) self.directPort.close_socket() - self.directPort.close() if self.broadcastPort: self.broadcastPort.close_socket() - self.broadcastPort.close() def indication(self, server, pdu): if _debug: UDPMultiplexer._debug("indication %r %r", server, pdu) diff --git a/py27/bacpypes/udp.py b/py27/bacpypes/udp.py index 643c45b..589c5fd 100755 --- a/py27/bacpypes/udp.py +++ b/py27/bacpypes/udp.py @@ -252,6 +252,8 @@ class UDPDirector(asyncore.dispatcher, Server, ServiceAccessPoint): if _debug: UDPDirector._debug("close_socket") self.socket.close() + self.close() + self.socket = None def handle_close(self): """Remove this from the monitor when it's closed.""" diff --git a/py34/bacpypes/bvllservice.py b/py34/bacpypes/bvllservice.py index b45fade..6abb5d7 100755 --- a/py34/bacpypes/bvllservice.py +++ b/py34/bacpypes/bvllservice.py @@ -114,10 +114,8 @@ class UDPMultiplexer: # pass along the close to the director(s) self.directPort.close_socket() - self.directPort.close() if self.broadcastPort: self.broadcastPort.close_socket() - self.broadcastPort.close() def indication(self, server, pdu): if _debug: UDPMultiplexer._debug("indication %r %r", server, pdu) diff --git a/py34/bacpypes/udp.py b/py34/bacpypes/udp.py index d2c1063..47ede29 100755 --- a/py34/bacpypes/udp.py +++ b/py34/bacpypes/udp.py @@ -252,6 +252,8 @@ class UDPDirector(asyncore.dispatcher, Server, ServiceAccessPoint): if _debug: UDPDirector._debug("close_socket") self.socket.close() + self.close() + self.socket = None def handle_close(self): """Remove this from the monitor when it's closed."""