From ed9dc3b386898603d74a489528292139d47aac1a Mon Sep 17 00:00:00 2001 From: Erik Frojdh Date: Fri, 29 Mar 2019 10:14:07 +0100 Subject: [PATCH] fixed bug not clearing socket descriptor --- slsSupportLib/src/DataSocket.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/slsSupportLib/src/DataSocket.cpp b/slsSupportLib/src/DataSocket.cpp index 651b507b0..cbc9119e2 100644 --- a/slsSupportLib/src/DataSocket.cpp +++ b/slsSupportLib/src/DataSocket.cpp @@ -16,7 +16,7 @@ namespace sls { DataSocket::DataSocket(int socketId) : socketId_(socketId) {} DataSocket::~DataSocket() { - if (socketId_ == -1) { + if (socketId_ <= 0) { return; } else { try { @@ -78,7 +78,11 @@ int DataSocket::setTimeOut(int t_seconds) { void DataSocket::close() { if (socketId_ > 0) { - ::close(socketId_); + if(::close(socketId_)){ + throw SocketError("could not close socket"); + } + socketId_ = 0; + } else { throw std::runtime_error("Socket ERROR: close called on bad socket\n"); }