fix for mantis 304

This commit is contained in:
Jeff Hill
2008-09-25 16:35:15 +00:00
parent fa161e4e5a
commit 9f71cf22cd

View File

@@ -0,0 +1,45 @@
/*************************************************************************\
* 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.
\*************************************************************************/
/*
* $Id$
* 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");
}
}