- SIMIX_process_on_exit(actor, [fun](int a, void* b) { fun((void*)(intptr_t)a, b); }, data);
+ SIMIX_process_on_exit(actor, [fun, data](bool failed) {
+ intptr_t status = failed ? SMX_EXIT_FAILURE : SMX_EXIT_SUCCESS;
+ fun(reinterpret_cast<void*>(status), data);
+ });
+}
+
+void SIMIX_process_on_exit(smx_actor_t actor, const std::function<void(int, void*)>& fun, void* data)
+{
+ SIMIX_process_on_exit(actor, [fun, data](bool failed) { fun(failed ? SMX_EXIT_FAILURE : SMX_EXIT_SUCCESS, data); });