From 56efb0621f840464ae36c938fc5d863466c5bc27 Mon Sep 17 00:00:00 2001 From: Frederic Suter Date: Wed, 3 Apr 2019 11:36:05 +0200 Subject: [PATCH 1/1] make more sense --- src/kernel/activity/ActivityImpl.cpp | 1 + src/kernel/actor/ActorImpl.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/kernel/activity/ActivityImpl.cpp b/src/kernel/activity/ActivityImpl.cpp index da8f12d825..54540506b1 100644 --- a/src/kernel/activity/ActivityImpl.cpp +++ b/src/kernel/activity/ActivityImpl.cpp @@ -53,6 +53,7 @@ void ActivityImpl::cancel() XBT_VERB("Activity %p is canceled", this); if (surf_action_ != nullptr) surf_action_->cancel(); + state_ = SIMIX_CANCELED; } // boost::intrusive_ptr support: diff --git a/src/kernel/actor/ActorImpl.cpp b/src/kernel/actor/ActorImpl.cpp index af4a2b5844..407d18ae00 100644 --- a/src/kernel/actor/ActorImpl.cpp +++ b/src/kernel/actor/ActorImpl.cpp @@ -217,11 +217,12 @@ void ActorImpl::exit() waiting_synchro->simcalls_.remove(&simcall); } else if (sleep != nullptr) { sleep->cancel(); - sleep->post(); + sleep->finish(); } else if (raw != nullptr) { raw->finish(); } else if (io != nullptr) { io->cancel(); + io->finish(); } else { simgrid::kernel::activity::ActivityImplPtr activity = waiting_synchro; xbt_die("Activity is of unknown type %s", simgrid::xbt::demangle(typeid(activity).name()).get()); -- 2.20.1