}
XBT_PUBLIC void sg_actor_set_stacksize(sg_actor_t actor, unsigned size);
-XBT_PUBLIC void sg_actor_exit();
+XBT_ATTRIB_NORETURN XBT_PUBLIC void sg_actor_exit();
XBT_PUBLIC void sg_actor_on_exit(void_f_int_pvoid_t fun, void* data);
XBT_PUBLIC aid_t sg_actor_get_pid(const_sg_actor_t actor);
XBT_PUBLIC void yield();
/** @brief kill the current actor. */
-XBT_PUBLIC void exit();
+XBT_ATTRIB_NORETURN XBT_PUBLIC void exit();
/** @brief Add a function to the list of "on_exit" functions of the current actor.
*
{
kernel::actor::ActorImpl* self = simgrid::kernel::actor::ActorImpl::self();
simgrid::kernel::actor::simcall([self] { self->exit(); });
+ THROW_IMPOSSIBLE;
}
void on_exit(const std::function<void(bool)>& fun)