X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fe84e0ac0aeb2988a5625c87e4688735de44d480..a0816cd508b0beceb6361a66fcf43512e18d3753:/src/smpi/smpi_process.hpp diff --git a/src/smpi/smpi_process.hpp b/src/smpi/smpi_process.hpp index 0d9a73b416..89602498b8 100644 --- a/src/smpi/smpi_process.hpp +++ b/src/smpi/smpi_process.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2009-2010, 2012-2014. The SimGrid Team. +/* Copyright (c) 2009-2010, 2012-2017. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -7,45 +7,43 @@ #ifndef SMPI_PROCESS_HPP #define SMPI_PROCESS_HPP - -#include #include "src/instr/instr_smpi.h" -#include "private.h" #include "simgrid/s4u/Mailbox.hpp" +#include "xbt/synchro.h" namespace simgrid{ namespace smpi{ class Process { private: - double simulated_; - int *argc_; - char ***argv_; + double simulated_ = 0 /* Used to time with simulated_start/elapsed */; + int* argc_ = nullptr; + char*** argv_ = nullptr; simgrid::s4u::MailboxPtr mailbox_; simgrid::s4u::MailboxPtr mailbox_small_; xbt_mutex_t mailboxes_mutex_; xbt_os_timer_t timer_; - MPI_Comm comm_self_; - MPI_Comm comm_intra_; - MPI_Comm* comm_world_; - void *data_; /* user data */ - int index_; + MPI_Comm comm_self_ = MPI_COMM_NULL; + 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_; /* inside an SMPI_SAMPLE_ block? */ - char* instance_id_; - bool replaying_; /* is the process replaying a trace */ + int sampling_ = 0; /* inside an SMPI_SAMPLE_ block? */ + char* instance_id_ = nullptr; + bool replaying_ = false; /* is the process replaying a trace */ msg_bar_t finalization_barrier_; - int return_value_; + int return_value_ = 0; smpi_trace_call_location_t trace_call_loc_; + smx_actor_t process_ = nullptr; #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); - void destroy(); - void set_data(int index, int *argc, char ***argv); + explicit Process(int index, msg_bar_t barrier); + void set_data(int index, int* argc, char*** argv); void finalize(); int finalized(); int initialized(); @@ -73,10 +71,10 @@ class Process { void set_sampling(int s); int sampling(); msg_bar_t finalization_barrier(); - void set_finalization_barrier(msg_bar_t bar); int return_value(); void set_return_value(int val); static void init(int *argc, char ***argv); + smx_actor_t process(); };