97 jmp_buf* recover_environment;
99 int mpi_fail_code = MPI_SUCCESS;
100 int repair_result = FENIX_SUCCESS;
103 int fenix_init_flag =
false;
104 int finalized =
false;
107 int* ret_role = &role;
108 int* ret_error = &repair_result;
110 std::unordered_map<CallbackLocation, std::vector<FenixCallbackFunc>>
117 Group user_procs, spare_procs, dead_procs;
125 std::vector<int> pid_to_rank;
126 std::vector<int> rank_to_pid;
129 Group fail_procs, recovered_procs, survivor_procs;
131 std::vector<int> fail_ranks;
137 MPI_Comm* user_world_ptr =
nullptr;
140 int dummy_recv_buffer;
141 MPI_Request check_failures_req;
143 MPI_Errhandler mpi_errhandler;
152 std::unordered_map<int, std::shared_ptr<logging::CommLog>> mlogs;
154 std::vector<int> mlog_order;
156 std::shared_ptr<logging::CommLog> active_mlog;
157 int active_mlog_id = FENIX_MLOG_NONE;
160 std::map<int, MPI_Datatype> mpi_types;
161 std::map<int, MPI_Op> mpi_ops;
163 static inline bool mpi_overloads_linked =
false;