From: SUTER Frederic Date: Fri, 23 Jul 2021 16:12:41 +0000 (+0200) Subject: Make the plugin usable within a SMPI simulation X-Git-Tag: v3.29~180 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/8d2e1f8f1f50189bae187042ba931cf62e8fa895?ds=inline Make the plugin usable within a SMPI simulation --- diff --git a/include/simgrid/plugins/ProducerConsumer.hpp b/include/simgrid/plugins/ProducerConsumer.hpp index f446dace18..02c54dae73 100644 --- a/include/simgrid/plugins/ProducerConsumer.hpp +++ b/include/simgrid/plugins/ProducerConsumer.hpp @@ -9,6 +9,7 @@ #include #include #include +#include #include #include @@ -145,7 +146,9 @@ public: while (size() >= max_queue_size_) can_put_->wait(lock); if (tmode_ == TransferMode::MAILBOX) { - comm = mbox_->put_async(data, simulated_size_in_bytes); + comm = mbox_->put_init(data, simulated_size_in_bytes) + ->set_copy_data_callback(SIMIX_comm_copy_pointer_callback) + ->start(); } else queue_.push(data); can_get_->notify_all(); @@ -180,7 +183,10 @@ public: while (empty()) can_get_->wait(lock); if (tmode_ == TransferMode::MAILBOX) - comm = mbox_->get_async(data); + comm = mbox_->get_init() + ->set_dst_data(reinterpret_cast(data), sizeof(void*)) + ->set_copy_data_callback(SIMIX_comm_copy_pointer_callback) + ->start(); else { *data = queue_.front(); queue_.pop();