-/* Copyright (c) 2006-2019. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2006-2020. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(s4u_actor, s4u, "S4U actors");
namespace simgrid {
+
+template class xbt::Extendable<s4u::Actor>;
+
namespace s4u {
xbt::signal<void(Actor&)> s4u::Actor::on_creation;
kernel::actor::simcall_blocking<void>([self] { self->suspend(); });
}
-void resume()
-{
- kernel::actor::ActorImpl* self = simgrid::kernel::actor::ActorImpl::self();
- kernel::actor::simcall([self] { self->resume(); });
- Actor::on_resume(*self->ciface());
-}
-
void exit()
{
kernel::actor::ActorImpl* self = simgrid::kernel::actor::ActorImpl::self();
return simgrid::s4u::Actor::init(name, host).get();
}
-void sg_actor_start(sg_actor_t actor, xbt_main_func_t code, int argc, char** argv)
+void sg_actor_start(sg_actor_t actor, xbt_main_func_t code, int argc, const char* const* argv)
{
simgrid::simix::ActorCode function;
if (code)
- function = simgrid::xbt::wrap_main(code, argc, static_cast<const char* const*>(argv));
+ function = simgrid::xbt::wrap_main(code, argc, argv);
actor->start(std::move(function));
}