Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Initialize the dict module on need, w/o relying on lib constructors
[simgrid.git] / src / xbt / xbt_virtu.cpp
index 5902f3a..56b2616 100644 (file)
@@ -1,21 +1,22 @@
 /* virtualization layer for XBT */
 
-/* Copyright (c) 2007-2020. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2007-2023. 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. */
 
-#include "simgrid/simix.h"
+#include <simgrid/s4u/Actor.hpp>
+#include <xbt/virtu.h>
+
 #include "src/kernel/actor/ActorImpl.hpp"
-#include "xbt/virtu.h"
 
 int xbt_getpid()
 {
-  const simgrid::kernel::actor::ActorImpl* self = SIMIX_process_self();
-  return self == nullptr ? 0 : self->get_pid();
+  const auto* self = simgrid::kernel::actor::ActorImpl::self();
+  return self == nullptr ? 0 : static_cast<int>(self->get_pid());
 }
 
 const char* xbt_procname(void)
 {
-  return SIMIX_process_self_get_name();
+  return simgrid::s4u::Actor::is_maestro() ? "maestro" : simgrid::kernel::actor::ActorImpl::self()->get_cname();
 }