diff --git a/src/NameService.cxx b/src/NameService.cxx index 53cb773f90b4238c13b6bcfa5544aa379d432f2e..ff5b52f470e739fc1c5c6e0b28ad7e4b6d2ffb0d 100644 --- a/src/NameService.cxx +++ b/src/NameService.cxx @@ -4,9 +4,9 @@ #include "MsgInfo.h" -#include "is/infoiterator.h" #include "is/infostream.h" #include "is/infodictionary.h" +#include "is/serveriterator.h" namespace daq { @@ -94,7 +94,7 @@ namespace daq { break; } } - + if(matches) { info.Addresses.push_back(intf->address_string() + '/' + intf->netmask_string()); } @@ -108,8 +108,11 @@ namespace daq { ISInfoDictionary d(m_partition); - // may throw - d.checkin(m_is_server + ".MSG_" + name, info); + ISServerIterator servers(m_partition, m_is_server + ".*"); + while(servers++) { + // may throw + d.checkin(std::string(servers.name()) + ".MSG_" + name, info); + } }