Increase maximum number of zeromq sockets and improve output on errors.

FairMQSampler: Modified: comment out an unused loop.
FairMQ: Modified: increase maximum number of ZeroMQ sockets (from default 1024).
FairMQ: Modified: reduce amount of output when finding port from a range.
FairMQ: Modified: stop the Device when socket creation fails and output an error.
This commit is contained in:
Alexey Rybalchenko
2015-03-14 17:03:21 +01:00
committed by Florian Uhlig
parent 8a82afe184
commit 61f24eb73a
4 changed files with 39 additions and 7 deletions

View File

@@ -40,6 +40,12 @@ FairMQSocketZMQ::FairMQSocketZMQ(const string& type, int num, int numIoThreads)
fSocket = zmq_socket(fContext->GetContext(), GetConstant(type));
if (fSocket == NULL)
{
LOG(ERROR) << "failed creating socket #" << fId << ", reason: " << zmq_strerror(errno);
exit(EXIT_FAILURE);
}
rc = zmq_setsockopt(fSocket, ZMQ_IDENTITY, &fId, fId.length());
if (rc != 0)
{
@@ -79,6 +85,10 @@ bool FairMQSocketZMQ::Bind(const string& address)
int rc = zmq_bind(fSocket, address.c_str());
if (rc != 0)
{
if (errno == EADDRINUSE) {
// do not print error in this case, this is handled by FairMQDevice in case no connection could be established after trying a number of random ports from a range.
return false;
}
LOG(ERROR) << "failed binding socket #" << fId << ", reason: " << zmq_strerror(errno);
return false;
}