mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2026-06-15 08:17:05 +00:00
- concurrent execute() calls print captured subprocess lines to std::cout from multiple threads; the standard allows that, but libstdc++ maintains the formatted-output state (ios_base::width) with plain reads and writes -- a data race ThreadSanitizer reports once libstdc++ itself is instrumented - a mutex around the insertion also keeps whole lines from interleaving
FairMQ Tools
Contains common tools for use by FairMQ and/or users.
fair::mq::tools::getHostIPs
Fills a map with the network interfaces and their IP addresses available on the current host.
Example usage
#include <map>
#include <string>
#include <iostream>
#include <fairmq/Tools.h>
void main()
{
std::map<string,string> IPs;
fair::mq::tools::getHostIPs(IPs);
for (std::map<string,string>::iterator it = IPs.begin(); it != IPs.end(); ++it)
{
std::cout << it->first << ": " << it->second << std::endl;
}
}
Example Output
eth0: 123.123.1.123
ib0: 123.123.2.123
lo: 127.0.0.1