diff --git a/src/ca/tcpiiu.cpp b/src/ca/tcpiiu.cpp index 3f37f58f2..eb193d0bb 100644 --- a/src/ca/tcpiiu.cpp +++ b/src/ca/tcpiiu.cpp @@ -636,7 +636,7 @@ void tcpiiu::shutdown ( epicsGuard & guard ) // linux threads in recv() dont wakeup unless we also // call shutdown ( close() by itself is not enough ) if ( oldState == iiucs_connected ) { - int status = ::shutdown ( this->sock, SD_BOTH ); + int status = ::shutdown ( this->sock, SHUT_RDWR ); if ( status ) { errlogPrintf ("CAC TCP socket shutdown error was %s\n", SOCKERRSTR (SOCKERRNO) ); diff --git a/src/cas/io/bsdSocket/casStreamIO.cc b/src/cas/io/bsdSocket/casStreamIO.cc index e4d08b122..188ed208c 100644 --- a/src/cas/io/bsdSocket/casStreamIO.cc +++ b/src/cas/io/bsdSocket/casStreamIO.cc @@ -183,7 +183,7 @@ void casStreamIO::forceDisconnect () { if ( ! this->sockHasBeenClosed ) { this->sockHasBeenClosed = true; - int status = ::shutdown ( this->sock, SD_BOTH ); + int status = ::shutdown ( this->sock, SHUT_RDWR ); if ( status ) { errlogPrintf ("CAC TCP socket shutdown error was %s\n", SOCKERRSTR (SOCKERRNO) ); diff --git a/src/libCom/osi/os/Darwin/osdSock.h b/src/libCom/osi/os/Darwin/osdSock.h index a4ee29cd1..27a1d19ea 100644 --- a/src/libCom/osi/os/Darwin/osdSock.h +++ b/src/libCom/osi/os/Darwin/osdSock.h @@ -68,8 +68,8 @@ typedef int osiSocklen_t; #define SOCK_ENOTSOCK ENOTSOCK #define SOCK_EBADF EBADF -#ifndef SD_BOTH -#define SD_BOTH 2 +#ifndef SHUT_RDWR +#define SHUT_RDWR 2 #endif #define ifreq_size(pifreq) ((pifreq)->ifr_addr.sa_len + sizeof((pifreq)->ifr_name)) diff --git a/src/libCom/osi/os/Linux/osdSock.h b/src/libCom/osi/os/Linux/osdSock.h index 07a0c9313..bd993e0c1 100644 --- a/src/libCom/osi/os/Linux/osdSock.h +++ b/src/libCom/osi/os/Linux/osdSock.h @@ -81,8 +81,8 @@ typedef socklen_t osiSocklen_t; #define SOCK_ENOTSOCK ENOTSOCK #define SOCK_EBADF EBADF -#ifndef SD_BOTH -#define SD_BOTH 2 +#ifndef SHUT_RDWR +# define SHUT_RDWR 2 #endif #define ifreq_size(pifreq) (sizeof(pifreq->ifr_name)) diff --git a/src/libCom/osi/os/RTEMS/osdSock.h b/src/libCom/osi/os/RTEMS/osdSock.h index 75dd962ea..8147e7f2a 100644 --- a/src/libCom/osi/os/RTEMS/osdSock.h +++ b/src/libCom/osi/os/RTEMS/osdSock.h @@ -80,7 +80,9 @@ typedef int osiSocklen_t; /* * For shutdown() */ -#define SD_BOTH 2 +#ifndef SHUT_RDWR +# define SHUT_RDWR 2 +#endif /* * Ensure that we get the right network code in default/osdNetIntf.c. diff --git a/src/libCom/osi/os/WIN32/osdSock.h b/src/libCom/osi/os/WIN32/osdSock.h index a701c1083..1821d6ae6 100644 --- a/src/libCom/osi/os/WIN32/osdSock.h +++ b/src/libCom/osi/os/WIN32/osdSock.h @@ -37,6 +37,10 @@ extern "C" { typedef u_long FAR osiSockIoctl_t; typedef int osiSocklen_t; +#ifndef SHUT_RDWR +# define SHUT_RDWR SD_BOTH +#endif + #define MAXHOSTNAMELEN 75 #define IPPORT_USERRESERVED 5000U diff --git a/src/libCom/osi/os/hpux/osdSock.h b/src/libCom/osi/os/hpux/osdSock.h index 0d00c12c7..f85619c4f 100644 --- a/src/libCom/osi/os/hpux/osdSock.h +++ b/src/libCom/osi/os/hpux/osdSock.h @@ -71,8 +71,8 @@ typedef int osiSocklen_t; #define SOCK_ENOTSOCK ENOTSOCK #define SOCK_EBADF EBADF -#ifndef SD_BOTH -#define SD_BOTH 2 +#ifndef SHUT_RDWR +# define SHUT_RDWR 2 #endif #define ifreq_size(pifreq) (sizeof(pifreq->ifr_name)) diff --git a/src/libCom/osi/os/solaris/osdSock.h b/src/libCom/osi/os/solaris/osdSock.h index 41ea56cfa..865a2c93b 100644 --- a/src/libCom/osi/os/solaris/osdSock.h +++ b/src/libCom/osi/os/solaris/osdSock.h @@ -75,8 +75,8 @@ typedef int osiSockIoctl_t; #define SOCK_ENOTSOCK ENOTSOCK #define SOCK_EBADF EBADF -#ifndef SD_BOTH -#define SD_BOTH 2 +#ifndef SHUT_RDWR +# define SHUT_RDWR 2 #endif #define ifreq_size(pifreq) (sizeof(pifreq->ifr_name)) diff --git a/src/libCom/osi/os/vxWorks/osdSock.h b/src/libCom/osi/os/vxWorks/osdSock.h index baac6b284..11b1f0a4a 100644 --- a/src/libCom/osi/os/vxWorks/osdSock.h +++ b/src/libCom/osi/os/vxWorks/osdSock.h @@ -45,7 +45,9 @@ typedef int SOCKET; #define SOCKERRNO errno #define SOCKERRSTR(ERRNO_IN) (strerror(ERRNO_IN)) #define socket_close(S) close(S) -#define SD_BOTH 2 +#ifndef SHUT_RDWR +# define SHUT_RDWR 2 +#endif /* * it is quite lame on WRS's part to assume that