summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/select.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/select.cc')
-rw-r--r--winsup/cygwin/select.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc
index b85e0bd56..ffddf6204 100644
--- a/winsup/cygwin/select.cc
+++ b/winsup/cygwin/select.cc
@@ -1347,10 +1347,13 @@ start_thread_socket (select_record *me, select_stuff *stuff)
if (_my_tls.locals.exitsock != INVALID_SOCKET)
{
- char buf[1];
- si->exitsock = _my_tls.locals.exitsock;
- select_printf ("read a byte from %p", si->exitsock);
- recv (si->exitsock, buf, 1, 0);
+ if (!si->exitsock)
+ {
+ char buf[1];
+ si->exitsock = _my_tls.locals.exitsock;
+ select_printf ("read a byte from %p", si->exitsock);
+ recv (si->exitsock, buf, 1, 0);
+ }
}
else
{