- 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"); });
- env->ReleaseStringUTFChars(jalias, alias);
+ if (not simgrid::ForcefulKillException::try_n_catch(
+ [&rv, &task, &alias, &jtimeout]() { rv = MSG_task_receive_with_timeout(&task, alias, (double)jtimeout); })) {
+ jxbt_throw_by_name(env, "org/simgrid/msg/ProcessKilledError", "Process killed");
+ }