return;
}
msg_error_t rv;
- simgrid::kernel::context::try_n_catch_stoprequest(
- [&rv, &task]() { rv = MSG_task_execute(task); },
- [&env] { jxbt_throw_by_name(env, "org/simgrid/msg/ProcessKilledError", "Process killed"); });
+ if (not simgrid::kernel::context::try_n_catch_stoprequest([&rv, &task]() { rv = MSG_task_execute(task); })) {
+ jxbt_throw_by_name(env, "org/simgrid/msg/ProcessKilledError", "Process killed");
+ }
if (env->ExceptionOccurred())
return;
const char *alias = env->GetStringUTFChars(jalias, 0);
msg_error_t rv;
- simgrid::kernel::context::try_n_catch_stoprequest(
- [&rv, &task, &alias, &jtimeout]() {
+ if (not simgrid::kernel::context::try_n_catch_stoprequest([&rv, &task, &alias, &jtimeout]() {
rv = MSG_task_receive_ext(&task, alias, (double)jtimeout, /*host*/ nullptr);
- },
- [&env]() { jxbt_throw_by_name(env, "org/simgrid/msg/ProcessKilledError", "Process killed"); });
+ })) {
+ jxbt_throw_by_name(env, "org/simgrid/msg/ProcessKilledError", "Process killed");
+ }
env->ReleaseStringUTFChars(jalias, alias);
if (env->ExceptionOccurred())
return nullptr;