aboutsummaryrefslogtreecommitdiff
path: root/src/frontend
diff options
context:
space:
mode:
authorNadia Holmquist Pedersen <nadia@nhp.sh>2022-01-12 20:40:06 +0100
committerNadia Holmquist Pedersen <nadia@nhp.sh>2022-01-12 20:40:39 +0100
commit2bda2f127ba67bbe342adb83437b23729ca50886 (patch)
treeb3dfa6e8ec92c537ac9f60999e9159a2b6dcef1f /src/frontend
parentdff8980a2771713728b5d1892249ed13e7588612 (diff)
nifi: Set SO_REUSEPORT on BSD and macOS to prevent creation of socket failing
Diffstat (limited to 'src/frontend')
-rw-r--r--src/frontend/qt_sdl/Platform.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/frontend/qt_sdl/Platform.cpp b/src/frontend/qt_sdl/Platform.cpp
index 49ca5a3..4306c98 100644
--- a/src/frontend/qt_sdl/Platform.cpp
+++ b/src/frontend/qt_sdl/Platform.cpp
@@ -413,6 +413,16 @@ bool MP_Init()
return false;
}
+#if defined(BSD) || defined(__APPLE__)
+ res = setsockopt(MPSocket, SOL_SOCKET, SO_REUSEPORT, (const char*)&opt_true, sizeof(int));
+ if (res < 0)
+ {
+ closesocket(MPSocket);
+ MPSocket = INVALID_SOCKET;
+ return false;
+ }
+#endif
+
sockaddr_t saddr;
saddr.sa_family = AF_INET;
*(u32*)&saddr.sa_data[2] = htonl(Config::SocketBindAnyAddr ? INADDR_ANY : INADDR_LOOPBACK);