Use shutdown(2) prior to stream close(2).

This commit is contained in:
Kurt Zeilenga 2000-08-28 22:24:01 +00:00
parent 90f0d9c85e
commit 5d9f41e8dc

View File

@ -83,6 +83,12 @@
# define ioctl_t u_long
# define AC_SOCKET_INVALID ((unsigned int) ~0)
# if SD_BOTH
# define tcp_close( s ) (shutdown( s, SD_BOTH ), closesocket( s ))
#else
# define tcp_close( s ) closesocket( s )
#endif
#define EWOULDBLOCK WSAEWOULDBLOCK
#define EINPROGRESS WSAEINPROGRESS
#define ETIMEDOUT WSAETIMEDOUT
@ -120,10 +126,15 @@ LBER_F( char * ) ber_pvt_wsa_err2string LDAP_P((int));
# endif
#else
# define tcp_close( s ) close( s )
# define tcp_read( s, buf, len) read( s, buf, len )
# define tcp_write( s, buf, len) write( s, buf, len )
# if SHUT_RDWR
# define tcp_close( s ) (shutdown( s, SHUT_RDWR ), close( s ))
#else
# define tcp_close( s ) close( s )
#endif
#ifdef HAVE_PIPE
/*
* Only use pipe() on systems where file and socket descriptors