From: Arnaud Giersch Date: Wed, 28 Jul 2021 12:48:24 +0000 (+0000) Subject: Merge branch 'doc_link' into 'master' X-Git-Tag: v3.29~179 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/94f76952308050e13df40d4df3852da353f73f35?hp=f552d294e06a8e76162f2ce6f31b9ce02801a33f Merge branch 'doc_link' into 'master' Fix broken link to releases in doc See merge request simgrid/simgrid!68 --- 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(); diff --git a/src/s4u/s4u_Comm.cpp b/src/s4u/s4u_Comm.cpp index 36b5702cbf..bcf557de35 100644 --- a/src/s4u/s4u_Comm.cpp +++ b/src/s4u/s4u_Comm.cpp @@ -299,11 +299,7 @@ Actor* Comm::get_sender() const CommPtr Comm::set_copy_data_callback(void (*callback)(kernel::activity::CommImpl*, void*, size_t)) { - static void (*saved_callback)(kernel::activity::CommImpl*, void*, size_t); - saved_callback = callback; - copy_data_function_ = [](simgrid::kernel::activity::CommImpl* comm, void* buff, size_t size) { - saved_callback(comm, buff, size); - }; + copy_data_function_ = callback; return this; }