From 4e523f356791197f0cd6576e55f57101b641029e Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Tue, 16 Apr 2019 14:08:42 +0200 Subject: [PATCH] Don't make exception on timeout. It breaks for example xbt_cond_timedwait which is expected to report timeout by a regular return. --- src/kernel/activity/SynchroRaw.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/kernel/activity/SynchroRaw.cpp b/src/kernel/activity/SynchroRaw.cpp index de052c10c9..facb9d00ac 100644 --- a/src/kernel/activity/SynchroRaw.cpp +++ b/src/kernel/activity/SynchroRaw.cpp @@ -73,9 +73,7 @@ void RawImpl::finish() XBT_DEBUG("RawImpl::finish(): host '%s' failed", simcall->issuer->get_host()->get_cname()); simcall->issuer->context_->iwannadie = true; simcall->issuer->exception_ = std::make_exception_ptr(HostFailureException(XBT_THROW_POINT, "Host failed")); - } else if (state_ == SIMIX_SRC_TIMEOUT) { - simcall->issuer->exception_ = std::make_exception_ptr(TimeoutError(XBT_THROW_POINT, "Synchronization timeout")); - } else { + } else if (state_ != SIMIX_SRC_TIMEOUT) { xbt_die("Internal error in RawImpl::finish() unexpected synchro state %d", static_cast(state_)); } -- 2.20.1