aboutsummaryrefslogtreecommitdiffstats
path: root/src/w32.c
diff options
context:
space:
mode:
authorJoakim Verona2013-09-10 23:52:26 +0200
committerJoakim Verona2013-09-10 23:52:26 +0200
commit63dae8e97d343fd4ebfe3dc08f0e8dc932630a4c (patch)
treee5078c5545c777e21944a9ee4199a6f2c6d25ca9 /src/w32.c
parent92aeabcc8a007f521a664e3aee092eb80ad0f49a (diff)
downloademacs-63dae8e97d343fd4ebfe3dc08f0e8dc932630a4c.tar.gz
emacs-63dae8e97d343fd4ebfe3dc08f0e8dc932630a4c.zip
merge upstream
Diffstat (limited to 'src/w32.c')
-rw-r--r--src/w32.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/w32.c b/src/w32.c
index 05a3fde97ce..1dcf46b5f4b 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -6092,6 +6092,7 @@ term_winsock (void)
6092{ 6092{
6093 if (winsock_lib != NULL && winsock_inuse == 0) 6093 if (winsock_lib != NULL && winsock_inuse == 0)
6094 { 6094 {
6095 release_listen_threads ();
6095 /* Not sure what would cause WSAENETDOWN, or even if it can happen 6096 /* Not sure what would cause WSAENETDOWN, or even if it can happen
6096 after WSAStartup returns successfully, but it seems reasonable 6097 after WSAStartup returns successfully, but it seems reasonable
6097 to allow unloading winsock anyway in that case. */ 6098 to allow unloading winsock anyway in that case. */
@@ -7076,7 +7077,12 @@ _sys_wait_accept (int fd)
7076 rc = pfn_WSAEventSelect (SOCK_HANDLE (fd), hEv, FD_ACCEPT); 7077 rc = pfn_WSAEventSelect (SOCK_HANDLE (fd), hEv, FD_ACCEPT);
7077 if (rc != SOCKET_ERROR) 7078 if (rc != SOCKET_ERROR)
7078 { 7079 {
7079 rc = WaitForSingleObject (hEv, INFINITE); 7080 do {
7081 rc = WaitForSingleObject (hEv, 500);
7082 Sleep (5);
7083 } while (rc == WAIT_TIMEOUT
7084 && cp->status != STATUS_READ_ERROR
7085 && cp->char_avail);
7080 pfn_WSAEventSelect (SOCK_HANDLE (fd), NULL, 0); 7086 pfn_WSAEventSelect (SOCK_HANDLE (fd), NULL, 0);
7081 if (rc == WAIT_OBJECT_0) 7087 if (rc == WAIT_OBJECT_0)
7082 cp->status = STATUS_READ_SUCCEEDED; 7088 cp->status = STATUS_READ_SUCCEEDED;