opnsense-ports/comms/telldus-core/files/patch-common-Socket_unix.cpp
Franco Fichtner cb07a35399 */*: sync with upstream
Taken from: HardenedBSD
2017-11-18 07:44:25 +01:00

24 lines
654 B
C++

--- common/Socket_unix.cpp
+++ common/Socket_unix.cpp
@@ -18,7 +18,7 @@
#include "common/Strings.h"
#define BUFSIZE 512
-#if defined(_MACOSX) && !defined(SOCK_CLOEXEC)
+#if (defined(_MACOSX) || defined (__FreeBSD__)) && !defined(SOCK_CLOEXEC)
#define SOCK_CLOEXEC 0
#endif
@@ -128,8 +128,10 @@ std::wstring Socket::read(int timeout) {
void Socket::stopReadWait() {
TelldusCore::MutexLocker locker(&d->mutex);
- d->connected = false;
- // TODO(stefan): somehow signal the socket here?
+ if(d->connected && d->socket != -1) {
+ d->connected = false;
+ shutdown(d->socket, SHUT_RDWR);
+ }
}
void Socket::write(const std::wstring &msg) {