diff options
Diffstat (limited to 'winsup/cygwin/ChangeLog')
-rw-r--r-- | winsup/cygwin/ChangeLog | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index cb7e5ebc695..4990f713e0c 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,69 @@ +2006-07-10 Corinna Vinschen <corinna@vinschen.de> + + * fhandler.h (class fhandler_socket): Add wsock_mtx, wsock_evt + and wsock_events members. Remove closed status flag, add listener + status flag. Accomodate new implementation of socket event handling + methods. Declare recv* and send* functions ssize_t as the POSIX + equivalents. + (fhandler_socket::recv_internal): Declare. + (fhandler_socket::send_internal): Ditto. + * fhandler_socket.cc (EVENT_MASK): Define mask of selected events. + (fhandler_socket::fhandler_socket): Initialize new members. + (fhandler_socket::af_local_setblocking): Don't actually set the + socket to blocking mode. Keep sane event selection. + (fhandler_socket::af_local_unsetblocking): Don't actually set the + socket to previous blocking setting, just remember it. + (struct wsa_event): New structure to keep event data per shared + socket. + (NUM_SOCKS): Define number of shared sockets concurrently handled by + all active Cygwin processes. + (wsa_events): New shared datastructure keeping all wsa_event records. + (socket_serial_number): New shared variable to identify shared sockets. + (wsa_slot_mtx): Global mutex to serialize wsa_events access. + (search_wsa_event_slot): New static function to select a new wsa_event + slot for a new socket. + (fhandler_socket::prepare): Rewrite. Prepare event selection + per new socket. + (fhandler_socket::wait): Rewrite. Wait for socket events in thread + safe and multiple process safe. + (fhandler_socket::release): Rewrite. Close per-socket descriptor + mutex handle and event handle. + (fhandler_socket::dup): Duplicate wsock_mtx and wsock_evt. Fix + copy-paste error in debug output. + (fhandler_socket::connect): Accomodate new event handling. + (fhandler_socket::listen): Set listener flag on successful listen. + (fhandler_socket::accept): Accomodate new event handling. + (fhandler_socket::recv_internal): New inline method centralizing + common recv code. + (fhandler_socket::recvfrom): Call recv_internal now. + (fhandler_socket::recvmsg): Ditto. Streamline copying from iovec + to WSABUF. + (fhandler_socket::send_internal): New inline method centralizing + common send code. + (fhandler_socket::sendto): Call send_internal now. + (fhandler_socket::sendmsg): Ditto. Streamline copying from iovec + to WSABUF. + (fhandler_socket::close): Call release now. + (fhandler_socket::ioctl): Never actually switch to blocking mode. + Just keep track of the setting. + * net.cc (fdsock): Call prepare now. + (cygwin_connect): Revert again to event driven technique. + (cygwin_accept): Ditto. + * poll.cc (poll): Don't call recvfrom on a listening socket. + Remove special case for failing recvfrom. + * include/sys/socket.h: Declare recv* and send* functions ssize_t as + requested by POSIX. + +2006-07-10 Corinna Vinschen <corinna@vinschen.de> + + * libc/inet_addr.c: Define __INSIDE_CYGWIN_NET__. + * libc/inet_network.c: Ditto. + +2006-07-07 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_socket.cc (fhandler_socket::wait): Disable SA_RESTART + handling for now. + 2006-07-07 Corinna Vinschen <corinna@vinschen.de> * net.cc (cygwin_inet_ntop): Fix data type of forth parameter. |