* 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 <p_samson@yahoo.com>).
	(wsock_event::release): Remove.
	* wsock_event.h: Revert to overlapped I/O.
This commit is contained in:
Corinna Vinschen
2004-04-03 19:07:59 +00:00
parent 81961a5001
commit 321ddf2422
5 changed files with 115 additions and 164 deletions

View File

@@ -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__ */