diff --git a/src/pcas/io/bsdSocket/casDGIntfIO.cc b/src/pcas/io/bsdSocket/casDGIntfIO.cc index 6aae7787a..7272a2f8f 100644 --- a/src/pcas/io/bsdSocket/casDGIntfIO.cc +++ b/src/pcas/io/bsdSocket/casDGIntfIO.cc @@ -151,12 +151,18 @@ casDGIntfIO::casDGIntfIO ( caServerI & serverIn, clientBufMemoryManager & memMgr epicsSocketDestroy (this->sock); throw S_cas_bindFail; } - - if ( addConfigBeaconAddr ) { - addAddrToChannelAccessAddressList ( - & BCastAddrList, &EPICS_CAS_BEACON_ADDR_LIST, beaconPort, 0 ); + + if (addConfigBeaconAddr) { + if (envGetConfigParamPtr ( & EPICS_CAS_BEACON_ADDR_LIST ) ) { + addAddrToChannelAccessAddressList ( + & BCastAddrList, & EPICS_CAS_BEACON_ADDR_LIST, beaconPort, 0 ); + } + else { + addAddrToChannelAccessAddressList ( + & BCastAddrList, & EPICS_CA_ADDR_LIST, beaconPort, 0 ); + } } - + removeDuplicateAddresses ( & this->beaconAddrList, & BCastAddrList, 0 ); {