summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorcliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a>2009-09-10 15:07:44 +0000
committercliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a>2009-09-10 15:07:44 +0000
commitf54f5f5823fce14e88998a6ce1ce80cbc2486e88 (patch)
tree272406c52b7f05881387b84117c3d1225c5ae420 /examples
parent520b81e04d7c0140f43b205a9bc31727c07fd152 (diff)
downloadpyserial-f54f5f5823fce14e88998a6ce1ce80cbc2486e88.tar.gz
- improve cleanup on exit in case of errors
- keep running in case of errors git-svn-id: http://svn.code.sf.net/p/pyserial/code/trunk/pyserial@346 f19166aa-fa4f-0410-85c2-fa1106f25c8a
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()