From 38100e7c4937cbc155a8e3b0ec66e4b57d9865be Mon Sep 17 00:00:00 2001 From: zimoch Date: Mon, 11 Mar 2013 15:49:19 +0000 Subject: [PATCH] New environment to disallow 2 iocs on the same computer --- src/rsrv/caservertask.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/rsrv/caservertask.c b/src/rsrv/caservertask.c index 053e33d91..7f2364d38 100644 --- a/src/rsrv/caservertask.c +++ b/src/rsrv/caservertask.c @@ -110,6 +110,13 @@ static void req_server (void *pParm) status = bind ( IOC_sock, (struct sockaddr *) &serverAddr, sizeof ( serverAddr ) ); if ( status < 0 ) { if ( SOCKERRNO == SOCK_EADDRINUSE ) { + const char* multiple_iocs = getenv("EPICS_ALLOW_MULTIPLE_IOCS"); + if (multiple_iocs && strcasecmp(multiple_iocs, "NO") == 0) + { + errlogPrintf ( "CAS: Default server port %d unavailable.\n" ,ca_server_port); + errlogPrintf ( "CAS: Probably already running an IOC on this computer.\n"); + epicsExit(1); + } /* * enable assignment of a default port * (so the getsockname() call below will