From 321ddf2422d3fafe29c68c2945bcc9063a238d83 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Sat, 3 Apr 2004 19:07:59 +0000 Subject: * fhandler.h (class fhandler_socket): Remove has_been_closed member. * fhandler_socket.cc (fhandler_socket::recvfrom): Revert to overlapped I/O. (fhandler_socket::recvmsg): Ditto. (fhandler_socket::sendto): Ditto. (fhandler_socket::sendmsg): Ditto. * net.cc (wsock_event::prepare): Ditto. (wsock_event::wait): Ditto. Evaluate overlapped result also after calling CancelIo (thanks to Patrick Samson ). (wsock_event::release): Remove. * wsock_event.h: Revert to overlapped I/O. --- winsup/cygwin/wsock_event.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'winsup/cygwin/wsock_event.h') diff --git a/winsup/cygwin/wsock_event.h b/winsup/cygwin/wsock_event.h index 5383a797b..3f8638134 100644 --- a/winsup/cygwin/wsock_event.h +++ b/winsup/cygwin/wsock_event.h @@ -14,13 +14,19 @@ details. */ class wsock_event { WSAEVENT event; + WSAOVERLAPPED ovr; public: wsock_event () : event (NULL) {}; + ~wsock_event () + { + if (event) + WSACloseEvent (event); + event = NULL; + }; /* The methods are implemented in net.cc */ - bool prepare (int sock, long event_mask); - int wait (int sock, int &closed); - void release (int sock); + LPWSAOVERLAPPED prepare (); + int wait (int socket, LPDWORD flags); }; #endif /* __WSOCK_EVENT_H__ */ -- cgit v1.2.3