diff --git a/libraries/AP_HAL/utility/Socket.cpp b/libraries/AP_HAL/utility/Socket.cpp index 501b8dd18a..331ba28631 100644 --- a/libraries/AP_HAL/utility/Socket.cpp +++ b/libraries/AP_HAL/utility/Socket.cpp @@ -35,8 +35,9 @@ datagram(_datagram) SocketAPM::~SocketAPM() { - if (::close(fd) < 0) { - perror("close"); + if (fd != -1) { + ::close(fd); + fd = -1; } } diff --git a/libraries/AP_HAL/utility/Socket.h b/libraries/AP_HAL/utility/Socket.h index 32b9be87cd..c090ba0a45 100644 --- a/libraries/AP_HAL/utility/Socket.h +++ b/libraries/AP_HAL/utility/Socket.h @@ -47,7 +47,7 @@ public: private: bool datagram; - int fd; + int fd = -1; void make_sockaddr(const char *address, uint16_t port, struct sockaddr_in &sockaddr); };