title: Call recv() on the same blocking socket from two threads
body: <p>What happens if I have one socket, <code>s</code>, there is no data currently available on it, it is a blocking socket, and I call <code>recv</code> on it from two threads at once? Will one of the threads get the data? Will both get it? Will the 2nd call to <code>recv</code> return with an error?</p>