48ScipParaInterruptMsgMonitor::ScipParaInterruptMsgMonitor(
51 ) : terminateRequested(false), paraComm(
comm), scipParaSolver(inScipParaSolver)
65 _sleep(
static_cast<unsigned int>(1));
67 sleep(
static_cast<unsigned int>(1));
74 if( !scipParaComm )
return;
75 scipParaComm->lockInterruptMsg();
80 scipParaComm->unlockInterruptMsg();
86 if ( scipParaComm->iProbe(&source, &tag) )
92 scipParaComm->unlockInterruptMsg();
98 scipParaComm->unlockInterruptMsg();
ScipParaSolver * scipParaSolver
pointer to ScipParaSolver object
int rank
rank of this Monitor
UG::ParaComm * paraComm
ParaCommunicator object.
int processTagInterruptRequest(int source, int tag)
Base class of communicator object.
virtual void setLocalRank(int inRank)
virtual int getRank()=0
get rank of this process or this thread depending on run-time environment
static ScipParaCommTh * comm
static const int TagInterruptRequest
#define DEF_SCIP_PARA_COMM(scip_para_comm, comm)
ParaComm extension for SCIP solver.
Interrupt message monitor thread class.
ParaSolver extension for SCIP: Parallelized solver implementation for SCIP.