93 int num_initial_ranks;
94 int num_survivor_ranks = 0;
95 int num_recovered_ranks = 0;
98 jmp_buf* recover_environment;
100 int mpi_fail_code = MPI_SUCCESS;
101 int repair_result = FENIX_SUCCESS;
104 int fenix_init_flag =
false;
105 int finalized =
false;
107 int fail_world_size = 0;
108 int* fail_world =
nullptr;
111 int* ret_role = &role;
112 int* ret_error = &repair_result;
114 std::unordered_map<CallbackLocation, std::vector<FenixCallbackFunc>>
120 MPI_Comm* user_world_ptr =
nullptr;
124 int dummy_recv_buffer;
125 MPI_Request check_failures_req;
128 MPI_Errhandler mpi_errhandler;
137 std::unordered_map<int, std::shared_ptr<logging::CommLog>> mlogs;
139 std::vector<int> mlog_order;
141 std::shared_ptr<logging::CommLog> active_mlog;
142 int active_mlog_id = FENIX_MLOG_NONE;
145 std::map<int, MPI_Datatype> mpi_types;
146 std::map<int, MPI_Op> mpi_ops;
148 static inline bool mpi_overloads_linked =
false;