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.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc
index 1b6215916..84424bcc2 100644
--- a/winsup/cygwin/select.cc
+++ b/winsup/cygwin/select.cc
@@ -1405,12 +1405,12 @@ start_thread_socket (select_record *me, select_stuff *stuff)
si->exitsock = _my_tls.locals.exitsock;
else
{
- si->exitsock = _my_tls.locals.exitsock = socket (AF_INET, SOCK_DGRAM, IPPROTO_UDP);
+ si->exitsock = socket (AF_INET, SOCK_DGRAM, IPPROTO_UDP);
if (si->exitsock == INVALID_SOCKET)
{
set_winsock_errno ();
select_printf ("cannot create socket, %E");
- return -1;
+ return 0;
}
int sin_len = sizeof (_my_tls.locals.exitsock_sin);
memset (&_my_tls.locals.exitsock_sin, 0, sin_len);
@@ -1432,6 +1432,7 @@ start_thread_socket (select_record *me, select_stuff *stuff)
/* else
too bad? */
select_printf ("opened new socket %p", si->exitsock);
+ _my_tls.locals.exitsock = si->exitsock;
}
select_printf ("exitsock %p", si->exitsock);
@@ -1446,8 +1447,7 @@ start_thread_socket (select_record *me, select_stuff *stuff)
err:
set_winsock_errno ();
closesocket (si->exitsock);
- si->exitsock = INVALID_SOCKET;
- return -1;
+ return 0;
}
void