.get();
});
} catch (simgrid::HostFailureException const&) {
- XBT_DEBUG("The warning has already been issued. Do nothing more than catching the exception.");
+ xbt_die("Could not create a new process on failed host %s.", host->get_cname());
}
for (int i = 0; i != argc; ++i)
* The on_exit functions are the functions executed when your process is killed.
* You should use them to free the data used by your process.
*/
-void MSG_process_on_exit(int_f_pvoid_pvoid_t fun, void *data) {
- simgrid::s4u::this_actor::on_exit([fun](int a, void* b) { fun((void*)(intptr_t)a, b); }, data);
+void MSG_process_on_exit(int_f_int_pvoid_t fun, void* data)
+{
+ simgrid::s4u::this_actor::on_exit(
+ [fun, data](bool failed) { fun(failed ? SMX_EXIT_FAILURE : SMX_EXIT_SUCCESS, data); });
}
/** @brief Take an extra reference on that process to prevent it to be garbage-collected */