-/* 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
#ifndef SIMGRID_SIMIX_HPP
#define SIMGRID_SIMIX_HPP
+#include <simgrid/s4u/Actor.hpp>
#include <simgrid/simix.h>
#include <xbt/promise.hpp>
#include <xbt/signal.hpp>
{
// 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<F>(code)();
// If we are in the application, pass the code to the maestro which
*/
template <class F> 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.