Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
SMPI: redesign the end of actors/ranks' lifetime
[simgrid.git] / src / smpi / include / smpi_actor.hpp
index 5a2e333..6528fc9 100644 (file)
@@ -15,7 +15,6 @@ namespace simgrid {
 namespace smpi {
 
 class ActorExt {
-private:
   double simulated_ = 0 /* Used to time with simulated_start/elapsed */;
   s4u::Mailbox* mailbox_;
   s4u::Mailbox* mailbox_small_;
@@ -28,12 +27,16 @@ private:
   int sampling_ = 0; /* inside an SMPI_SAMPLE_ block? */
   std::string instance_id_;
   bool replaying_ = false; /* is the process replaying a trace */
-  s4u::Barrier* finalization_barrier_;
   smpi_trace_call_location_t trace_call_loc_;
   s4u::ActorPtr actor_                           = nullptr;
   smpi_privatization_region_t privatized_region_ = nullptr;
-  int optind                                     = 0; /*for getopt replacement */
+#ifdef __linux__
+  int optind_                                     = 0; /*for getopt replacement */
+#else
+  int optind_                                     = 1; /*for getopt replacement */
+#endif
   std::string tracing_category_                  = "";
+  MPI_Info info_env_;
 
 #if HAVE_PAPI
   /** Contains hardware data as read by PAPI **/
@@ -41,11 +44,10 @@ private:
   papi_counter_t papi_counter_data_;
 #endif
 public:
-  explicit ActorExt(simgrid::s4u::ActorPtr actor, simgrid::s4u::Barrier* barrier);
+  explicit ActorExt(s4u::ActorPtr actor);
   ActorExt(const ActorExt&) = delete;
   ActorExt& operator=(const ActorExt&) = delete;
   ~ActorExt();
-  void set_data(const char* instance_id);
   void finalize();
   int finalized();
   int initializing();
@@ -75,9 +77,10 @@ public:
   void set_sampling(int s);
   int sampling();
   static void init();
-  simgrid::s4u::ActorPtr get_actor();
+  s4u::ActorPtr get_actor();
   int get_optind();
   void set_optind(int optind);
+  MPI_Info info_env();
 };
 
 } // namespace smpi