X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/72d32c4e88a57f4786f62fec48a1bfa454adbff9..HEAD:/src/kernel/actor/ActorImpl.hpp diff --git a/src/kernel/actor/ActorImpl.hpp b/src/kernel/actor/ActorImpl.hpp index 8f6f640aee..69741aceee 100644 --- a/src/kernel/actor/ActorImpl.hpp +++ b/src/kernel/actor/ActorImpl.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2007-2022. 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. */ @@ -9,11 +9,16 @@ #include "Simcall.hpp" #include "simgrid/kernel/Timer.hpp" #include "simgrid/s4u/Actor.hpp" +#include "src/kernel/actor/Simcall.hpp" #include "xbt/PropertyHolder.hpp" + +#include #include #include #include #include +#include +#include #include namespace simgrid::kernel::actor { @@ -21,22 +26,20 @@ class ProcessArg; /*------------------------- [ ActorIDTrait ] -------------------------*/ class XBT_PUBLIC ActorIDTrait { - xbt::string name_; - aid_t pid_ = 0; - aid_t ppid_ = -1; + std::string name_; + aid_t pid_ = 0; + aid_t ppid_ = -1; static unsigned long maxpid_; public: explicit ActorIDTrait(const std::string& name, aid_t ppid); - const xbt::string& get_name() const { return name_; } + const std::string& get_name() const { return name_; } const char* get_cname() const { return name_.c_str(); } aid_t get_pid() const { return pid_; } aid_t get_ppid() const { return ppid_; } static unsigned long get_maxpid() { return maxpid_; } - // In MC mode, the application sends this pointer to the MC - static unsigned long* get_maxpid_addr() { return &maxpid_; } }; /*------------------------- [ ActorRestartingTrait ] -------------------------*/ @@ -64,7 +67,7 @@ class XBT_PUBLIC ActorImpl : public xbt::PropertyHolder, public ActorIDTrait, pu friend activity::MailboxImpl; public: - ActorImpl(xbt::string name, s4u::Host* host, aid_t ppid); + ActorImpl(const std::string& name, s4u::Host* host, aid_t ppid); ActorImpl(const ActorImpl&) = delete; ActorImpl& operator=(const ActorImpl&) = delete; ~ActorImpl(); @@ -102,7 +105,7 @@ public: bool suspended_ = false; activity::ActivityImplPtr waiting_synchro_ = nullptr; /* the current blocking synchro if any */ - std::list activities_; /* the current non-blocking synchros */ + std::set activities_; /* the current non-blocking synchros */ Simcall simcall_; /* list of functions executed when the actor dies */ std::shared_ptr>> on_exit =