diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2015-06-15 18:29:56 +0200 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2015-06-15 18:29:56 +0200 |
commit | 79d65a1ed2eccd7c9c280895b8dc99ff7112b3c0 (patch) | |
tree | d15728d384376566f2a40feeb5eaca6195431e6a /newlib/libc/stdio/printf.c | |
parent | 6f9e2f3ed5ee1364dab6a47c604a6d7d370aab5c (diff) | |
download | cygnal-79d65a1ed2eccd7c9c280895b8dc99ff7112b3c0.tar.gz cygnal-79d65a1ed2eccd7c9c280895b8dc99ff7112b3c0.tar.bz2 cygnal-79d65a1ed2eccd7c9c280895b8dc99ff7112b3c0.zip |
Try to handle concurrent close on socket more gracefully
* fhandler_socket.cc (LOCK_EVENTS): Don't enter critical section with
invalid mutex handle since then socket has been closed.
(UNLOCK_EVENTS): Close critical section.
(fhandler_socket::evaluate_events): Handle calling connect on shutdown
socket.
(fhandler_socket::wait_for_events): Try for pthread_testcancel in case
of WAIT_FAILED. Try to come up with a better errno in case we waited
on an invalid handle.
(fhandler_socket::release_events): Change wsock_mtx and wsock_evt to
NULL under lock to avoid accessing invalid handle.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'newlib/libc/stdio/printf.c')
0 files changed, 0 insertions, 0 deletions