From 93356e1dbbae61b5843e4825eb0b0f349c5ddb86 Mon Sep 17 00:00:00 2001 From: alexandre burton Date: Mon, 20 May 2024 22:08:35 -0400 Subject: [PATCH 1/2] ofxOscReceiver: win32 implementation: shader posix changes --- addons/ofxOsc/libs/oscpack/src/ip/win32/UdpSocket.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/addons/ofxOsc/libs/oscpack/src/ip/win32/UdpSocket.cpp b/addons/ofxOsc/libs/oscpack/src/ip/win32/UdpSocket.cpp index a16f74a78c4..0286416f254 100644 --- a/addons/ofxOsc/libs/oscpack/src/ip/win32/UdpSocket.cpp +++ b/addons/ofxOsc/libs/oscpack/src/ip/win32/UdpSocket.cpp @@ -353,7 +353,7 @@ class SocketReceiveMultiplexer::Implementation{ std::vector< std::pair< PacketListener*, UdpSocket* > > socketListeners_; std::vector< AttachedTimerListener > timerListeners_; - volatile bool break_; + std::atomic break_ { false }; HANDLE breakEvent_; double GetCurrentTimeMs() const @@ -418,8 +418,6 @@ class SocketReceiveMultiplexer::Implementation{ void Run() { - break_ = false; - // prepare the window events which we use to wake up on incoming data // we use this instead of select() primarily to support the AsyncBreak() // mechanism. @@ -508,6 +506,7 @@ class SocketReceiveMultiplexer::Implementation{ unsigned long enableNonblocking = 0; ioctlsocket( i->second->impl_->Socket(), FIONBIO, &enableNonblocking ); // make the socket blocking again } + break_ = false; } void Break() From 0450c71b26ea55390f47abf7c1cf3e781c19acde Mon Sep 17 00:00:00 2001 From: alexandre burton Date: Mon, 20 May 2024 22:18:08 -0400 Subject: [PATCH 2/2] #include --- addons/ofxOsc/libs/oscpack/src/ip/win32/UdpSocket.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/ofxOsc/libs/oscpack/src/ip/win32/UdpSocket.cpp b/addons/ofxOsc/libs/oscpack/src/ip/win32/UdpSocket.cpp index 0286416f254..7eb8a1ea9c2 100644 --- a/addons/ofxOsc/libs/oscpack/src/ip/win32/UdpSocket.cpp +++ b/addons/ofxOsc/libs/oscpack/src/ip/win32/UdpSocket.cpp @@ -48,6 +48,7 @@ #include // for memset #include #include +#include #include "ip/UdpSocket.h" // usually I'd include the module header first // but this is causing conflicts with BCB4 due to