From db6e7c7a22b73f70a8b93e2aa4b6fa505e0218a6 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Wed, 5 Feb 2020 10:30:58 -0800 Subject: [PATCH] use one osdSockAddrReuse impl for all targets drop win32 specialization of osdSockAddrReuse --- .../src/osi/os/WIN32/osdSockAddrReuse.cpp | 44 ------------------- .../src/osi/os/cygwin32/osdSockAddrReuse.cpp | 44 ------------------- .../{posix => default}/osdSockAddrReuse.cpp | 0 3 files changed, 88 deletions(-) delete mode 100644 modules/libcom/src/osi/os/WIN32/osdSockAddrReuse.cpp delete mode 100644 modules/libcom/src/osi/os/cygwin32/osdSockAddrReuse.cpp rename modules/libcom/src/osi/os/{posix => default}/osdSockAddrReuse.cpp (100%) diff --git a/modules/libcom/src/osi/os/WIN32/osdSockAddrReuse.cpp b/modules/libcom/src/osi/os/WIN32/osdSockAddrReuse.cpp deleted file mode 100644 index d441d7511..000000000 --- a/modules/libcom/src/osi/os/WIN32/osdSockAddrReuse.cpp +++ /dev/null @@ -1,44 +0,0 @@ - -/*************************************************************************\ -* Copyright (c) 2002 The University of Chicago, as Operator of Argonne -* National Laboratory. -* Copyright (c) 2002 The Regents of the University of California, as -* Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. -\*************************************************************************/ - -/* - * Author: Jeff Hill - */ - -#define epicsExportSharedSymbols -#include "osiSock.h" -#include "errlog.h" - -/* - * Note: WINSOCK appears to assign a different functionality for - * SO_REUSEADDR compared to other OS. With WINSOCK SO_REUSEADDR indicates - * that simultaneously servers can bind to the same TCP port on the same host! - * Also, servers are always enabled to reuse a port immediately after - * they exit ( even if SO_REUSEADDR isnt set ). - */ -epicsShareFunc void epicsShareAPI - epicsSocketEnableAddressReuseDuringTimeWaitState ( SOCKET s ) -{ -} - -epicsShareFunc void epicsShareAPI - epicsSocketEnableAddressUseForDatagramFanout ( SOCKET s ) -{ - int yes = true; - int status; - status = setsockopt ( s, SOL_SOCKET, SO_REUSEADDR, - (char *) & yes, sizeof ( yes ) ); - if ( status < 0 ) { - errlogPrintf ( - "epicsSocketEnablePortUseForDatagramFanout: " - "unable to set SO_REUSEADDR?\n"); - } -} diff --git a/modules/libcom/src/osi/os/cygwin32/osdSockAddrReuse.cpp b/modules/libcom/src/osi/os/cygwin32/osdSockAddrReuse.cpp deleted file mode 100644 index d441d7511..000000000 --- a/modules/libcom/src/osi/os/cygwin32/osdSockAddrReuse.cpp +++ /dev/null @@ -1,44 +0,0 @@ - -/*************************************************************************\ -* Copyright (c) 2002 The University of Chicago, as Operator of Argonne -* National Laboratory. -* Copyright (c) 2002 The Regents of the University of California, as -* Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. -\*************************************************************************/ - -/* - * Author: Jeff Hill - */ - -#define epicsExportSharedSymbols -#include "osiSock.h" -#include "errlog.h" - -/* - * Note: WINSOCK appears to assign a different functionality for - * SO_REUSEADDR compared to other OS. With WINSOCK SO_REUSEADDR indicates - * that simultaneously servers can bind to the same TCP port on the same host! - * Also, servers are always enabled to reuse a port immediately after - * they exit ( even if SO_REUSEADDR isnt set ). - */ -epicsShareFunc void epicsShareAPI - epicsSocketEnableAddressReuseDuringTimeWaitState ( SOCKET s ) -{ -} - -epicsShareFunc void epicsShareAPI - epicsSocketEnableAddressUseForDatagramFanout ( SOCKET s ) -{ - int yes = true; - int status; - status = setsockopt ( s, SOL_SOCKET, SO_REUSEADDR, - (char *) & yes, sizeof ( yes ) ); - if ( status < 0 ) { - errlogPrintf ( - "epicsSocketEnablePortUseForDatagramFanout: " - "unable to set SO_REUSEADDR?\n"); - } -} diff --git a/modules/libcom/src/osi/os/posix/osdSockAddrReuse.cpp b/modules/libcom/src/osi/os/default/osdSockAddrReuse.cpp similarity index 100% rename from modules/libcom/src/osi/os/posix/osdSockAddrReuse.cpp rename to modules/libcom/src/osi/os/default/osdSockAddrReuse.cpp