Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
try to handle getopt internal global variable
[simgrid.git] / src / smpi / include / smpi_process.hpp
index 7477a66..af8fa3d 100644 (file)
@@ -28,24 +28,24 @@ class Process {
     MPI_Comm comm_intra_  = MPI_COMM_NULL;
     MPI_Comm* comm_world_ = nullptr;
     void* data_           = nullptr; /* user data */
-    int index_            = MPI_UNDEFINED;
     char state_;
     int sampling_                   = 0; /* inside an SMPI_SAMPLE_ block? */
-    char* instance_id_              = nullptr;
+    std::string instance_id_;
     bool replaying_                 = false; /* is the process replaying a trace */
     msg_bar_t finalization_barrier_;
-    int return_value_ = 0;
     smpi_trace_call_location_t trace_call_loc_;
-    smx_actor_t process_ = nullptr;
+    simgrid::s4u::ActorPtr process_ = nullptr;
     smpi_privatization_region_t privatized_region_;
+    int optind=0; /*for getopt replacement */
 #if HAVE_PAPI
   /** Contains hardware data as read by PAPI **/
     int papi_event_set_;
     papi_counter_t papi_counter_data_;
 #endif
   public:
-    explicit Process(int index, msg_bar_t barrier);
-    void set_data(int index, int* argc, char*** argv);
+    explicit Process(simgrid::s4u::ActorPtr actor, msg_bar_t barrier);
+    ~Process();
+    void set_data(int* argc, char*** argv);
     void finalize();
     int finalized();
     int initialized();
@@ -57,8 +57,6 @@ class Process {
     smpi_trace_call_location_t* call_location();
     void set_privatized_region(smpi_privatization_region_t region);
     smpi_privatization_region_t privatized_region();
-    int index();
-    MPI_Comm comm_world();
     smx_mailbox_t mailbox();
     smx_mailbox_t mailbox_small();
     xbt_mutex_t mailboxes_mutex();
@@ -69,16 +67,17 @@ class Process {
     xbt_os_timer_t timer();
     void simulated_start();
     double simulated_elapsed();
+    MPI_Comm comm_world();
     MPI_Comm comm_self();
     MPI_Comm comm_intra();
     void set_comm_intra(MPI_Comm comm);
     void set_sampling(int s);
     int sampling();
     msg_bar_t finalization_barrier();
-    int return_value();
-    void set_return_value(int val);
     static void init(int *argc, char ***argv);
-    smx_actor_t process();
+    simgrid::s4u::ActorPtr process();
+    int get_optind();
+    void set_optind(int optind);
 };