X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3b9e80123591ec2f74060d8c828e6f645e2b5a79..40ee10e13b61bfb28374d96ade010a262b5abd44:/include/simgrid/plugins/ProducerConsumer.hpp diff --git a/include/simgrid/plugins/ProducerConsumer.hpp b/include/simgrid/plugins/ProducerConsumer.hpp index b6af5a432a..d4438e4ad7 100644 --- a/include/simgrid/plugins/ProducerConsumer.hpp +++ b/include/simgrid/plugins/ProducerConsumer.hpp @@ -22,8 +22,7 @@ XBT_LOG_EXTERNAL_CATEGORY(producer_consumer); /** Stock implementation of a generic monitored queue to solve the producer-consumer problem */ -namespace simgrid { -namespace plugin { +namespace simgrid::plugin { template class ProducerConsumer; template using ProducerConsumerPtr = boost::intrusive_ptr>; @@ -104,7 +103,7 @@ public: */ ProducerConsumer* set_max_queue_size(unsigned int max_queue_size) { - const std::lock_guard lock(*mutex_); + const std::scoped_lock lock(*mutex_); max_queue_size_ = max_queue_size; return this; } @@ -141,7 +140,7 @@ public: */ s4u::CommPtr put_async(T* data, size_t simulated_size_in_bytes) { - std::unique_lock lock(*mutex_); + std::unique_lock lock(*mutex_); s4u::CommPtr comm = nullptr; XBT_CVERB(producer_consumer, (size() < max_queue_size_) ? "can put" : "must wait"); @@ -178,7 +177,7 @@ public: */ s4u::CommPtr get_async(T** data) { - std::unique_lock lock(*mutex_); + std::unique_lock lock(*mutex_); s4u::CommPtr comm = nullptr; XBT_CVERB(producer_consumer, empty() ? "must wait" : "can get"); while (empty()) @@ -214,7 +213,6 @@ public: } }; -} // namespace plugin -} // namespace simgrid +} // namespace simgrid::plugin #endif // SIMGRID_PLUGIN_PRODUCERCONSUMER_HPP