freebsd-ports/comms/telldus-core/files/patch-common-Socket_unix.cpp
Hans Petter Selasky 178dc54417 Update devd rules and various build cleanup.
Added support for Tellstick Duo.

Approved by:	maintainer (Johan Strom, johan@stromnet.se)
Tested by:	hselasky @
PR:		222790
2017-11-01 07:55:34 +00: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) {