]> git.sur5r.net Git - openldap/commitdiff
Use shutdown(2) prior to stream close(2).
authorKurt Zeilenga <kurt@openldap.org>
Mon, 28 Aug 2000 22:24:01 +0000 (22:24 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Mon, 28 Aug 2000 22:24:01 +0000 (22:24 +0000)
include/ac/socket.h

index 027ed88765844d1b77938427e331dba9a40201b9..8ab6dfe74e659570f0d5f754f1d996d54287267b 100644 (file)
 #      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