diff options
author | Eli Zaretskii <eliz@gnu.org> | 2013-08-29 18:32:04 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2013-08-29 18:32:04 +0300 |
commit | 3f940c5aa6fc1d03e6658cda5c440fb6bd75e4c5 (patch) | |
tree | 5729694efb5e29a00b9fad2f9c081d2198f3ccc9 /src/w32.h | |
parent | 20de2834a594370b2f30fa55932c9de3da6150ed (diff) | |
download | emacs-3f940c5aa6fc1d03e6658cda5c440fb6bd75e4c5.tar.gz emacs-3f940c5aa6fc1d03e6658cda5c440fb6bd75e4c5.tar.bz2 emacs-3f940c5aa6fc1d03e6658cda5c440fb6bd75e4c5.zip |
A possible fix for bug #14333 with hanging at exit on MS-Windows.
src/w32.c (term_winsock): Call release_listen_threads before calling
WSACleanup.
(_sys_wait_accept): Wait for accept event in a loop with a finite
timeout, instead of waiting indefinitely. Will hopefully avoid
hanging during exit because WSACleanup deadlocks waiting for the
event object to be released.
src/w32proc.c (release_listen_threads): New function, signals all
the reader threads that listen for connections to stop waiting.
src/w32.h (release_listen_threads): Add prototype.
Diffstat (limited to 'src/w32.h')
-rw-r--r-- | src/w32.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/w32.h b/src/w32.h index 9c1f1efa699..32d0fdbe3cf 100644 --- a/src/w32.h +++ b/src/w32.h @@ -163,6 +163,7 @@ extern void reset_standard_handles (int in, int out, /* Return the string resource associated with KEY of type TYPE. */ extern LPBYTE w32_get_resource (char * key, LPDWORD type); +extern void release_listen_threads (void); extern void init_ntproc (int); extern void term_ntproc (int); extern void globals_of_w32 (void); |