Skip to content

Commit 4954037

Browse files
authored
Always close socket on error (reset_sock). (#1767)
1 parent 52f518b commit 4954037

File tree

2 files changed

+3
-14
lines changed

2 files changed

+3
-14
lines changed

pymodbus/repl/client/main.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -263,11 +263,6 @@ def run(self):
263263
"--retry-on-error", is_flag=True, default=False, help="Retry on error response"
264264
)
265265
@click.option("--retries", default=3, help="Retry count")
266-
@click.option(
267-
"--reset-socket/--no-reset-socket",
268-
default=True,
269-
help="Reset client socket on error",
270-
)
271266
@click.pass_context
272267
def main(
273268
ctx,
@@ -276,7 +271,6 @@ def main(
276271
retry_on_empty,
277272
retry_on_error,
278273
retries,
279-
reset_socket,
280274
):
281275
"""Run Main."""
282276
if verbose:
@@ -291,7 +285,6 @@ def main(
291285
"retry_on_empty": retry_on_empty,
292286
"retry_on_invalid": retry_on_error,
293287
"retries": retries,
294-
"reset_socket": reset_socket,
295288
}
296289

297290

pymodbus/transaction.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ def __init__(self, client, **kwargs):
6363
self.retry_on_empty = kwargs.get("retry_on_empty", False)
6464
self.retry_on_invalid = kwargs.get("retry_on_invalid", False)
6565
self.retries = kwargs.get("retries", 3)
66-
self.reset_socket = kwargs.get("reset_socket", True)
6766
self._transaction_lock = RLock()
6867
self._no_response_devices = []
6968
if client:
@@ -232,8 +231,7 @@ def execute(self, request): # noqa: C901
232231
response = ModbusIOException(
233232
last_exception, request.function_code
234233
)
235-
if self.reset_socket:
236-
self.client.close()
234+
self.client.close()
237235
if hasattr(self.client, "state"):
238236
Log.debug(
239237
"Changing transaction state from "
@@ -247,8 +245,7 @@ def execute(self, request): # noqa: C901
247245
# Handle decode errors in processIncomingPacket method
248246
Log.error("Modbus IO exception {}", exc)
249247
self.client.state = ModbusTransactionState.TRANSACTION_COMPLETE
250-
if self.reset_socket:
251-
self.client.close()
248+
self.client.close()
252249
return exc
253250

254251
def _retry_transaction(self, retries, reason, packet, response_length, full=False):
@@ -317,8 +314,7 @@ def _transact(self, packet, response_length, full=False, broadcast=False):
317314
# result2 = self._recv(response_length, full)
318315
Log.debug("RECV: {}", result, ":hex")
319316
except (OSError, ModbusIOException, InvalidMessageReceivedException) as msg:
320-
if self.reset_socket:
321-
self.client.close()
317+
self.client.close()
322318
Log.debug("Transaction failed. ({}) ", msg)
323319
last_exception = msg
324320
result = b""

0 commit comments

Comments
 (0)