Corinna Vinschen
321ddf2422
* 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.
2004-04-03 19:07:59 +00:00
Corinna Vinschen
54aefcc6bc
* fhandler_socket.cc (fhandler_socket::sendto): Drop out of loop if
...
has_been_closed gets set.
(fhandler_socket::sendmsg): Ditto.
* net.cc (wsock_event::wait): Don't initialize evts. Don't try to
evaluate network events if WSAEnumNetworkEvents fails.
(wsock_event::release): Save last WSA error and set it again unless
resetting to blocking socket fails.
* wsock_event.h (class wsock_event): Remove destructor.
2004-04-01 09:48:15 +00:00
Corinna Vinschen
81f5200ba3
* fhandler.h (class fhandler_socket): Add has_been_closed member.
...
* fhandler_socket.cc (fhandler_socket::fhandler_socket): Initialize
has_been_closed to 0.
(fhandler_socket::recvfrom): Use new asynchronous I/O driven
wsock_event methods.
(fhandler_socket::recvmsg): Ditto.
(fhandler_socket::sendto): Ditto.
(fhandler_socket::sendmsg): Ditto.
* net.cc (wsock_event::prepare): Reimplement using asynchronous I/O.
(wsock_event::wait): Ditto.
(wsock_event::release): New method.
* wsock_event.h (class wsock_event): Remove ovr member. Accomodate
new implementation of prepare and wait methods. Add release method.
2004-03-29 19:41:17 +00:00
Corinna Vinschen
ff86860ba6
* dtable.cc (dtable::dup2): Revert previous patch.
...
* fhandler.h: Ditto.
(fhandler_socket::recv): Define new method.
(fhandler_socket::send): Ditto.
* fhandler_socket.cc (fhandler_socket::recv): New method.
(fhandler_socket::send): Ditto.
(fhandler_socket::read): Call fhandler_socket::recv() now.
(fhandler_socket::write): Call fhandler_socket::send() now.
* net.cc (class wsock_event): Move definition to wsock_event.h.
(fdsock): Revert previous patch.
(cygwin_recv): Move implementation to fhandler_socket::recv().
(cygwin_send): Move implementation to fhandler_socket::send().
* wsock_event.h: New file.
2002-02-09 10:40:48 +00:00