static int receiver(const char* box_name)
{
auto mb = simgrid::s4u::Mailbox::by_name(box_name);
- const int* payload;
+ std::unique_ptr<int> payload;
- payload = static_cast<int*>(mb->get());
+ payload = mb->get_unique<int>();
MC_assert(*payload == 1);
- delete payload;
- payload = static_cast<int*>(mb->get());
+ payload = mb->get_unique<int>();
MC_assert(*payload == 2);
- delete payload;
return 0;
}
static int sender(const char* box_name, simgrid::s4u::MutexPtr mutex, int value)
{
- int* payload = new int(value);
+ auto* payload = new int(value);
auto mb = simgrid::s4u::Mailbox::by_name(box_name);
if (mutex)
mutex->lock();
- mb->put(static_cast<void*>(payload), 8);
+ mb->put(payload, 8);
if (mutex)
mutex->unlock();