From e9bcaa746ca1a11c9bd6befc45f7a09448b5b2ad Mon Sep 17 00:00:00 2001 From: Steve Karg Date: Fri, 16 Aug 2024 08:28:25 -0500 Subject: [PATCH] Fixed endless query in bac-rw module when error is returned. (#727) --- src/bacnet/basic/client/bac-rw.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bacnet/basic/client/bac-rw.c b/src/bacnet/basic/client/bac-rw.c index b1e2fe86..40abe14b 100644 --- a/src/bacnet/basic/client/bac-rw.c +++ b/src/bacnet/basic/client/bac-rw.c @@ -465,7 +465,9 @@ static bool bacnet_read_write_process(TARGET_DATA *target) } break; case BACNET_CLIENT_WAITING: - if (tsm_invoke_id_free(Request_Invoke_ID)) { + if (Error_Detected) { + RW_State = BACNET_CLIENT_FINISHED; + } else if (tsm_invoke_id_free(Request_Invoke_ID)) { Error_Detected = false; RW_State = BACNET_CLIENT_FINISHED; } else if (tsm_invoke_id_failed(Request_Invoke_ID)) { @@ -474,8 +476,6 @@ static bool bacnet_read_write_process(TARGET_DATA *target) Error_Code = ERROR_CODE_ABORT_TSM_TIMEOUT; RW_State = BACNET_CLIENT_FINISHED; tsm_free_invoke_id(Request_Invoke_ID); - } else if (Error_Detected) { - RW_State = BACNET_CLIENT_FINISHED; } break; case BACNET_CLIENT_FINISHED: