static void receiver(simgrid::s4u::Mailbox* mailbox)
{
- double received;
+ double* received = nullptr;
double computation_amount = simgrid::s4u::this_actor::get_host()->get_speed();
simgrid::s4u::ExecPtr exec = simgrid::s4u::this_actor::exec_init(2 * computation_amount);
- simgrid::s4u::CommPtr comm = mailbox->get_init()->set_dst_data((void**)&received);
+ simgrid::s4u::CommPtr comm = mailbox->get_init()->set_dst_data((void**)&received, sizeof(double));
comm->set_name("comm from sender")->add_successor(exec)->start();
exec->set_name("exec on receiver")->vetoable_start();
comm->wait();
exec->wait();
+ XBT_INFO("Received: %.0f flops were computed on sender", *received);
+ delete received;
}
int main(int argc, char* argv[])
> [ 2.00] (1:sender@Tremblay) All dependencies are solved, let's start 'comm to receiver'
> [ 3.07] (2:receiver@Jupiter) Remove a dependency from 'comm from sender' on 'exec on receiver'
> [ 3.07] (2:receiver@Jupiter) All dependencies are solved, let's start 'exec on receiver'
+> [ 5.07] (2:receiver@Jupiter) Received: 98095000 flops were computed on sender
> [ 5.07] (0:maestro@) Simulation time: 5.070