summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/port_publisher.py32
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()