I have a multi-threaded Windows C++ app written in Visual Studio 6.
Within the app 2 threads are running each trying to read UDP packets on different ports. If I protect the reading from the socket with a critical section then all the date read is fine. Without that protection data is lost from both sockets.
Is reading from a socket not thread safe? I've written many socket apps in the past and don't remember having to use this sort of thread protection.