X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/217ab9d5146bf370bbb20065fd357a5c099c78ee..b6dde5ff6f208b83545a4b4e9e81712d0d8617a1:/src/smpi/include/smpi_actor.hpp diff --git a/src/smpi/include/smpi_actor.hpp b/src/smpi/include/smpi_actor.hpp index 264507b131..bd78da2307 100644 --- a/src/smpi/include/smpi_actor.hpp +++ b/src/smpi/include/smpi_actor.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2009-2019. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2009-2020. 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. */ @@ -27,24 +27,32 @@ class ActorExt { 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; + s4u::Actor* 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_; + void* bsend_buffer_ = nullptr; + int bsend_buffer_size_ = 0; + #if HAVE_PAPI /** Contains hardware data as read by PAPI **/ int papi_event_set_; papi_counter_t papi_counter_data_; #endif + public: - explicit ActorExt(s4u::ActorPtr actor, s4u::Barrier* barrier); + static simgrid::xbt::Extension EXTENSION_ID; + + explicit ActorExt(s4u::Actor* actor); ActorExt(const ActorExt&) = delete; ActorExt& operator=(const ActorExt&) = delete; ~ActorExt(); - void set_data(const char* instance_id); void finalize(); int finalized(); int initializing(); @@ -77,6 +85,9 @@ public: s4u::ActorPtr get_actor(); int get_optind(); void set_optind(int optind); + MPI_Info info_env(); + void bsend_buffer(void** buf, int* size); + void set_bsend_buffer(void* buf, int size); }; } // namespace smpi