}
#if HAVE_SMPI
- if (mpi_request.detached()) {
+ auto send_detached = mcapi::get().check_send_request_detached(request);
+ if (send_detached) {
if (this->initial_communications_pattern_done) {
/* Evaluate comm determinism */
this->deterministic_comm_pattern(pattern->src_proc, pattern.get(), backtracking);
return host_name;
}
+bool mc_api::check_send_request_detached(smx_simcall_t const& simcall) const
+{
+ simgrid::smpi::Request mpi_request;
+ mc_model_checker->get_remote_simulation().read(
+ &mpi_request, remote(static_cast<smpi::Request*>(simcall_comm_isend__get__data(simcall))));
+ return mpi_request.detached();
+}
+
std::size_t mc_api::get_remote_heap_bytes() const
{
RemoteSimulation& process = mc_model_checker->get_remote_simulation();
unsigned long get_pattern_comm_dst_proc(void* addr) const;
std::vector<char> get_pattern_comm_data(void* addr) const;
const char* get_actor_host_name(smx_actor_t actor) const;
+ bool check_send_request_detached(smx_simcall_t const& simcall) const;
// REMOTE
std::size_t get_remote_heap_bytes() const;