#define MPI_REQ_RMA 0x200
#define MPI_REQ_ACCUMULATE 0x400
-enum smpi_process_state { SMPI_UNINITIALIZED, SMPI_INITIALIZED, SMPI_FINALIZED };
+enum class SmpiProcessState { UNINITIALIZED, INITIALIZED, FINALIZED };
#define COLL_TAG_REDUCE -112
#define COLL_TAG_SCATTER -223
MPI_Comm comm_intra_ = MPI_COMM_NULL;
MPI_Comm* comm_world_ = nullptr;
void* data_ = nullptr; /* user data */
- char state_;
+ SmpiProcessState state_;
int sampling_ = 0; /* inside an SMPI_SAMPLE_ block? */
std::string instance_id_;
bool replaying_ = false; /* is the process replaying a trace */
mailbox_small_ = simgrid::s4u::Mailbox::by_name("small-" + std::to_string(actor_->get_pid()));
mailboxes_mutex_ = xbt_mutex_init();
timer_ = xbt_os_timer_new();
- state_ = SMPI_UNINITIALIZED;
+ state_ = SmpiProcessState::UNINITIALIZED;
if (MC_is_active())
MC_ignore_heap(timer_, xbt_os_timer_size());
/** @brief Prepares the current process for termination. */
void Process::finalize()
{
- state_ = SMPI_FINALIZED;
+ state_ = SmpiProcessState::FINALIZED;
XBT_DEBUG("<%ld> Process left the game", actor_->get_pid());
// This leads to an explosion of the search graph which cannot be reduced:
/** @brief Check if a process is finalized */
int Process::finalized()
{
- return (state_ == SMPI_FINALIZED);
+ return (state_ == SmpiProcessState::FINALIZED);
}
/** @brief Check if a process is initialized */
{
// TODO cheinrich: Check if we still need this. This should be a global condition, not for a
// single process ... ?
- return (state_ == SMPI_INITIALIZED);
+ return (state_ == SmpiProcessState::INITIALIZED);
}
/** @brief Mark a process as initialized (=MPI_Init called) */
void Process::mark_as_initialized()
{
- if (state_ != SMPI_FINALIZED)
- state_ = SMPI_INITIALIZED;
+ if (state_ != SmpiProcessState::FINALIZED)
+ state_ = SmpiProcessState::INITIALIZED;
}
void Process::set_replaying(bool value){
- if (state_ != SMPI_FINALIZED)
+ if (state_ != SmpiProcessState::FINALIZED)
replaying_ = value;
}