Index: /trunk/src/VBox/Runtime/r3/socket.cpp
===================================================================
--- /trunk/src/VBox/Runtime/r3/socket.cpp	(revision 31211)
+++ /trunk/src/VBox/Runtime/r3/socket.cpp	(revision 31212)
@@ -1352,5 +1352,5 @@
  * @param   pThis               The socket handle.
  */
-static int rtSocketPollClearEventAndMakeBlocking(RTSOCKETINT *pThis)
+static int rtSocketPollClearEventAndRestoreBlocking(RTSOCKETINT *pThis)
 {
     int rc = VINF_SUCCESS;
@@ -1362,6 +1362,6 @@
 
             /*
-             * Don't switch back to blocking mode if the socket is currently
-             * operated in non-blocking mode.
+             * Switch back to blocking mode if that was the state before the
+             * operation.
              */
             if (pThis->fBlocking)
@@ -1526,5 +1526,5 @@
         if (pThis->cUsers == 1)
         {
-            rtSocketPollClearEventAndMakeBlocking(pThis);
+            rtSocketPollClearEventAndRestoreBlocking(pThis);
             pThis->hPollSet = NIL_RTPOLLSET;
         }
@@ -1566,5 +1566,5 @@
     if (pThis->cUsers == 1)
     {
-        rtSocketPollClearEventAndMakeBlocking(pThis);
+        rtSocketPollClearEventAndRestoreBlocking(pThis);
         pThis->hPollSet = NIL_RTPOLLSET;
     }
