Hi,
You should catch the exception and print it out so that we can figure out why the condition variable of the IceUtil::Monitor can't be created:
Code:
try
{
Job *data = new Job("xxx", DB_PUT);
}
catch(const IceUtil::Exception& ex)
{
cerr << ex << endl;
throw;
}
Is the Job object correctly released? If not, it's likely that your process is running out of system resources.
Cheers,
Benoit.