From 027f6fb6899b902bdd7d0b3230ecccc24f6bc6c3 Mon Sep 17 00:00:00 2001 From: Ingo Fischer Date: Wed, 28 Mar 2018 19:53:17 +0200 Subject: [PATCH] prevent multiple calls to disconnect for serial and tcp (#137) * prevent multiple calls to disconnect for serial and tcp --- mbus/mbus-serial.c | 7 ++++++- mbus/mbus-tcp.c | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/mbus/mbus-serial.c b/mbus/mbus-serial.c index ea4d977..5a2a3f3 100755 --- a/mbus/mbus-serial.c +++ b/mbus/mbus-serial.c @@ -191,7 +191,13 @@ mbus_serial_disconnect(mbus_handle *handle) return -1; } + if (handle->fd < 0) + { + return -1; + } + close(handle->fd); + handle->fd = -1; return 0; } @@ -374,4 +380,3 @@ mbus_serial_recv_frame(mbus_handle *handle, mbus_frame *frame) return MBUS_RECV_RESULT_OK; } - diff --git a/mbus/mbus-tcp.c b/mbus/mbus-tcp.c index 81043db..9291938 100755 --- a/mbus/mbus-tcp.c +++ b/mbus/mbus-tcp.c @@ -127,7 +127,13 @@ mbus_tcp_disconnect(mbus_handle *handle) return -1; } + if (handle->fd < 0) + { + return -1; + } + close(handle->fd); + handle->fd = -1; return 0; } @@ -262,4 +268,3 @@ mbus_tcp_set_timeout_set(double seconds) return 0; } -