Skip to content

Commit 3200a9b

Browse files
committed
server: improve error handling
1 parent f9273f3 commit 3200a9b

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

pyModbusTCP/server.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from warnings import warn
1313

1414
# add a logger for pyModbusTCP.server
15-
logger = logging.getLogger(__name__)
15+
logger = logging.getLogger('pyModbusTCP.server')
1616

1717

1818
class DataBank:
@@ -672,7 +672,7 @@ def handle(self):
672672
session_data = ModbusServer.SessionData()
673673
(session_data.client.address, session_data.client.port) = self.request.getpeername()
674674
# debug message
675-
logger.debug('accept new connection %r', session_data.client)
675+
logger.debug('Accept new connection from %r', session_data.client)
676676
try:
677677
# main processing loop
678678
while True:
@@ -690,7 +690,7 @@ def handle(self):
690690
self._send_all(session_data.response.raw)
691691
except (ModbusServer.Error, socket.error) as e:
692692
# debug message
693-
logger.debug('exception during request handling: %r', e)
693+
logger.debug('Exception during request handling: %r', e)
694694
# on main loop except: exit from it and cleanly close the current socket
695695
self.request.close()
696696

@@ -985,8 +985,11 @@ def start(self):
985985
# TODO test no_delay with bench
986986
self._service.socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
987987
# bind and activate
988-
self._service.server_bind()
989-
self._service.server_activate()
988+
try:
989+
self._service.server_bind()
990+
self._service.server_activate()
991+
except OSError as e:
992+
raise ModbusServer.NetworkError(e)
990993
# serve request
991994
if self.no_block:
992995
self._serve_th = Thread(target=self._serve)

0 commit comments

Comments
 (0)