X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/63ebf4be4ca6a243a64c7ded8df9b96a9d28d3ff..be5257a0719791277ac5e87131bf1635acfc9885:/examples/s4u/exec-async/s4u-exec-async.cpp diff --git a/examples/s4u/exec-async/s4u-exec-async.cpp b/examples/s4u/exec-async/s4u-exec-async.cpp index a47accebbb..cb11ce2d49 100644 --- a/examples/s4u/exec-async/s4u-exec-async.cpp +++ b/examples/s4u/exec-async/s4u-exec-async.cpp @@ -11,19 +11,31 @@ static void test(double computation_amount, double priority) { XBT_INFO("Hello! Execute %g flops with priority %g", computation_amount, priority); simgrid::s4u::ExecPtr activity = simgrid::s4u::this_actor::exec_init(computation_amount); - activity->setPriority(priority); + activity->set_priority(priority); activity->start(); activity->wait(); XBT_INFO("Goodbye now!"); } +static void test_cancel(double computation_amount) +{ + XBT_INFO("Hello! Execute %g flops, should take 1 second", computation_amount); + simgrid::s4u::ExecPtr activity = simgrid::s4u::this_actor::exec_async(computation_amount); + simgrid::s4u::this_actor::sleep_for(0.5); + XBT_INFO("I changed my mind, cancel!"); + activity->cancel(); + + XBT_INFO("Goodbye now!"); +} + int main(int argc, char* argv[]) { simgrid::s4u::Engine e(&argc, argv); e.load_platform(argv[1]); simgrid::s4u::Actor::create("test", simgrid::s4u::Host::by_name("Fafard"), test, 7.6296e+07, 1.0); simgrid::s4u::Actor::create("test", simgrid::s4u::Host::by_name("Fafard"), test, 7.6296e+07, 2.0); + simgrid::s4u::Actor::create("test_cancel", simgrid::s4u::Host::by_name("Boivin"), test_cancel, 98.095e+07); e.run();