diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/port_publisher.py | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/examples/port_publisher.py b/examples/port_publisher.py index 1e9c9a3..91de063 100644 --- a/examples/port_publisher.py +++ b/examples/port_publisher.py @@ -277,20 +277,22 @@ class Forwarder(ZeroconfService): def handle_disconnect(self):
"""Socket gets disconnected"""
# signal disconnected terminal with control lines
- self.serial.setRTS(False)
- self.serial.setDTR(False)
- # restore original port configuration in case it was changed
- self.serial.applySettingsDict(self.serial_settings_backup)
- # stop RFC 2217 state machine
- self.rfc2217 = None
- # clear send buffer
- self.buffer_ser2net = ''
- # close network connection
- if self.socket is not None:
- self.socket.close()
- self.socket = None
- if not options.quiet:
- print '%s: Disconnected' % self.device
+ try:
+ self.serial.setRTS(False)
+ self.serial.setDTR(False)
+ finally:
+ # restore original port configuration in case it was changed
+ self.serial.applySettingsDict(self.serial_settings_backup)
+ # stop RFC 2217 state machine
+ self.rfc2217 = None
+ # clear send buffer
+ self.buffer_ser2net = ''
+ # close network connection
+ if self.socket is not None:
+ self.socket.close()
+ self.socket = None
+ if not options.quiet:
+ print '%s: Disconnected' % self.device
def test():
@@ -479,5 +481,5 @@ If running as daemon, write to syslog. Otherwise write to stdout. except SystemExit:
raise
except:
- raise
+ #~ raise
traceback.print_exc()
|