X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4e46fb705a7ae3d90e14ea3b9a0cc9b4e9007f99..4d02714ee138a3bd9b02e0064b7a2aa26407e9e8:/src/bindings/python/simgrid_python.cpp diff --git a/src/bindings/python/simgrid_python.cpp b/src/bindings/python/simgrid_python.cpp index f9074bf6f9..ca675388b0 100644 --- a/src/bindings/python/simgrid_python.cpp +++ b/src/bindings/python/simgrid_python.cpp @@ -13,6 +13,7 @@ #include #include "src/kernel/context/Context.hpp" +#include #include #include #include @@ -56,8 +57,7 @@ PYBIND11_MODULE(simgrid, m) m.attr("simgrid_version") = simgrid_version; // Internal exception used to kill actors and sweep the RAII chimney (free objects living on the stack) - py::object pyForcefulKillEx = - py::register_exception(m, "ActorKilled"); + py::object pyForcefulKillEx = py::register_exception(m, "ActorKilled"); /* this_actor namespace */ void (*sleep_for_fun)(double) = &simgrid::s4u::this_actor::sleep_for; // pick the right overload @@ -84,15 +84,13 @@ PYBIND11_MODULE(simgrid, m) m2.def("on_exit", [](py::object fun) { ActorPtr act = Actor::self(); - simgrid::s4u::this_actor::on_exit( - [act, fun](int /*ignored*/, void* /*data*/) { - try { - fun(); - } catch (py::error_already_set& e) { - xbt_die("Error while executing the on_exit lambda: %s", e.what()); - } - }, - nullptr); + simgrid::s4u::this_actor::on_exit([act, fun](bool /*failed*/) { + try { + fun(); + } catch (py::error_already_set& e) { + xbt_die("Error while executing the on_exit lambda: %s", e.what()); + } + }); }, "");