Handle EINTR when polling.

diff --git a/dlls/winsock/socket.c b/dlls/winsock/socket.c
index cfbf49f..0f1ba34 100644
--- a/dlls/winsock/socket.c
+++ b/dlls/winsock/socket.c
@@ -589,7 +589,13 @@
 
   pfd.fd = fd;
   pfd.events = events;
-  poll(&pfd, 1, -1);
+
+  while (poll(&pfd, 1, -1) < 0)
+  {
+      if (errno != EINTR)
+          return -1;
+  }
+
   return pfd.revents;
 }