X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/699832c68841db0dcf4e615e22cfdea90d4ccb1b..9c9ff09f4f5268f51f0dfdc9bdfe4cbbab99c49f:/include/simgrid/simix.hpp?ds=sidebyside diff --git a/include/simgrid/simix.hpp b/include/simgrid/simix.hpp index 49e2d4a94e..fb8addfb3c 100644 --- a/include/simgrid/simix.hpp +++ b/include/simgrid/simix.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2007-2021. The SimGrid Team. +/* Copyright (c) 2007-2022. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -7,15 +7,15 @@ #ifndef SIMGRID_SIMIX_HPP #define SIMGRID_SIMIX_HPP -#include +#include #include #include #include #include -XBT_PUBLIC void simcall_run_kernel(std::function const& code, - simgrid::kernel::actor::SimcallObserver* observer); +XBT_PUBLIC void simcall_run_answered(std::function const& code, + simgrid::kernel::actor::SimcallObserver* observer); XBT_PUBLIC void simcall_run_blocking(std::function const& code, simgrid::kernel::actor::SimcallObserver* observer); @@ -42,11 +42,11 @@ namespace actor { * you may need to wait for that mutex to be unlocked by its current owner. * Potentially blocking simcall must be issued using simcall_blocking(), right below in this file. */ -template typename std::result_of_t simcall(F&& code, SimcallObserver* observer = nullptr) +template typename std::result_of_t simcall_answered(F&& code, SimcallObserver* observer = nullptr) { // If we are in the maestro, we take the fast path and execute the // code directly without simcall marshalling/unmarshalling/dispatch: - if (SIMIX_is_maestro()) + if (s4u::Actor::is_maestro()) return std::forward(code)(); // If we are in the application, pass the code to the maestro which @@ -54,7 +54,7 @@ template typename std::result_of_t simcall(F&& code, SimcallObser // conveniently handles the success/failure value for us. using R = typename std::result_of_t; simgrid::xbt::Result result; - simcall_run_kernel([&result, &code] { simgrid::xbt::fulfill_promise(result, std::forward(code)); }, observer); + simcall_run_answered([&result, &code] { simgrid::xbt::fulfill_promise(result, std::forward(code)); }, observer); return result.get(); } @@ -76,7 +76,7 @@ template typename std::result_of_t simcall(F&& code, SimcallObser */ template void simcall_blocking(F&& code, SimcallObserver* observer = nullptr) { - xbt_assert(not SIMIX_is_maestro(), "Cannot execute blocking call in kernel mode"); + xbt_assert(not s4u::Actor::is_maestro(), "Cannot execute blocking call in kernel mode"); // Pass the code to the maestro which executes it for us and reports the result. We use a std::future which // conveniently handles the success/failure value for us. @@ -93,12 +93,6 @@ auto simcall_blocking(F&& code, Observer* observer) -> decltype(observer->get_re } } // namespace actor } // namespace kernel - -namespace simix { - -XBT_PUBLIC void unblock(smx_actor_t process); - -} // namespace simix } // namespace simgrid #endif