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; } -