#include "simgrid/s4u/Mailbox.hpp"
#include "src/kernel/context/Context.hpp"
+#include "src/simix/smx_private.h"
+
#include <sstream>
XBT_LOG_NEW_DEFAULT_CATEGORY(s4u_actor, "S4U actors");
*/
bool isMaestro()
{
- smx_context_t self_context = SIMIX_context_self();
- return self_context == nullptr;
+ smx_actor_t process = SIMIX_process_self();
+ return process == nullptr || process == simix_global->maestro_process;
}
void sleep_for(double duration)
#ifndef SIMIX_PRIVATE_H
#define SIMIX_PRIVATE_H
-#include <signal.h>
+#include "simgrid/s4u/Actor.hpp"
#include "src/kernel/context/Context.hpp"
+#include <signal.h>
#include <map>
namespace simix {
class Global {
+ friend bool simgrid::s4u::this_actor::isMaestro();
+
public:
smx_context_factory_t context_factory = nullptr;
xbt_dynar_t process_to_run = nullptr;