diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2004-04-09 08:43:29 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2004-04-09 08:43:29 +0000 |
commit | b79f85c28b63ccc3326ac78654c8171c3f8a5706 (patch) | |
tree | dc1601fe0e744ca05fda9db6ba46189785114d34 /winsup/cygwin/fhandler_socket.cc | |
parent | 00dd058f7e35b1160e81534cf78142d803b0842a (diff) | |
download | cygnal-b79f85c28b63ccc3326ac78654c8171c3f8a5706.tar.gz cygnal-b79f85c28b63ccc3326ac78654c8171c3f8a5706.tar.bz2 cygnal-b79f85c28b63ccc3326ac78654c8171c3f8a5706.zip |
* fhandler.cc (fhandler_base::write): Use bool parameter in calls to
set_did_lseek.
(fhandler_base::fhandler_base): Accomodate new status and open_status
constructor.
* fhandler.h: Remove status bit enumerator.
(FHDEVN): Remove.
(FHISSETF): Remove.
(FHSETF): Remove.
(FHCLEARF): Remove.
(FHCONDSETF): Remove.
(FHSTATOFF): Remove.
(UNCONNECTED, CONNECT_PENDING, CONNECTED): Substitute by enum
connect_state.
(fhandler_base::status): Define as bitfield struct type status_flags.
Remove unused flags entirely. Accomodate all status access methods.
(open_status): Define as bitfield struct type status_flags.
(fhandler_socket): Move socket related status bits to here. Redefine
had_connect_or_listen to be part of these status bits. Accomodate
related access methods.
* fhandler_disk_file.cc (fhandler_base::fstat_helper): Use pc.issymlink
instead of dropped method get_symlink_p.
(fhandler_base::open_fs): Remove setting dropped status flags.
* fhandler_socket.cc: Use values from enum connect_state throughout.
(fhandler_socket::fhandler_socket): Initialize status bits.
* fhandler_virtual.cc (fhandler_virtual::open): Remove setting dropped
status flags.
* net.cc: Use values from enum connect_state throughout.
* select.cc: Ditto.
* shared_info.h: Protect struct console_state using _FHANDLER_H_
instead of FHDEVN.
Diffstat (limited to 'winsup/cygwin/fhandler_socket.cc')
-rw-r--r-- | winsup/cygwin/fhandler_socket.cc | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/winsup/cygwin/fhandler_socket.cc b/winsup/cygwin/fhandler_socket.cc index 79e63e1ad..d322e9d46 100644 --- a/winsup/cygwin/fhandler_socket.cc +++ b/winsup/cygwin/fhandler_socket.cc @@ -121,8 +121,12 @@ get_inet_addr (const struct sockaddr *in, int inlen, /**********************************************************************/ /* fhandler_socket */ -fhandler_socket::fhandler_socket () - : fhandler_base (), sun_path (NULL) +fhandler_socket::fhandler_socket () : + fhandler_base (), + sun_path (NULL), + sock_saw_shut_rd (0), + sock_saw_shut_wr (0), + had_connect_or_listen (unconnected) { set_need_fork_fixup (); prot_info_ptr = (LPWSAPROTOCOL_INFOA) cmalloc (HEAP_BUF, @@ -545,9 +549,9 @@ fhandler_socket::connect (const struct sockaddr *name, int namelen) err = WSAGetLastError (); if (err == WSAEINPROGRESS || err == WSAEALREADY) - set_connect_state (CONNECT_PENDING); + set_connect_state (connect_pending); else - set_connect_state (CONNECTED); + set_connect_state (connected); return res; } @@ -559,7 +563,7 @@ fhandler_socket::listen (int backlog) if (res) set_winsock_errno (); else - set_connect_state (CONNECTED); + set_connect_state (connected); return res; } @@ -634,7 +638,7 @@ fhandler_socket::accept (struct sockaddr *peer, int *len) ((fhandler_socket *) res_fd)->set_sun_path (get_sun_path ()); ((fhandler_socket *) res_fd)->set_addr_family (get_addr_family ()); ((fhandler_socket *) res_fd)->set_socket_type (get_socket_type ()); - ((fhandler_socket *) res_fd)->set_connect_state (CONNECTED); + ((fhandler_socket *) res_fd)->set_connect_state (connected); res = res_fd; } else |