Skip to content

Instantly share code, notes, and snippets.

@sithhell
Last active May 28, 2016 19:17
Show Gist options
  • Save sithhell/7c4f73280b236662e448b571a9218030 to your computer and use it in GitHub Desktop.
Save sithhell/7c4f73280b236662e448b571a9218030 to your computer and use it in GitHub Desktop.
diff --git a/hpx/runtime/actions/continuation.hpp b/hpx/runtime/actions/continuation.hpp
index e3d0290..09022a5 100644
--- a/hpx/runtime/actions/continuation.hpp
+++ b/hpx/runtime/actions/continuation.hpp
@@ -339,7 +339,8 @@ namespace hpx { namespace actions
static_cast<
typed_continuation<Result, RemoteResult>*
- >(cont.get())->trigger(result.get());
+ >(cont.get())->trigger(
+ hpx::util::detail::decay_copy(result.get()));
}
catch (...) {
// make sure hpx::exceptions are propagated back to the client
@@ -406,8 +407,8 @@ namespace hpx { namespace actions
static_cast<
typed_continuation<Result, RemoteResult>*
- >(cont.get())->trigger(
- util::invoke(std::forward<F>(f), std::forward<Ts>(vs)...));
+ >(cont.get())->trigger(hpx::util::detail::decay_copy(
+ util::invoke(std::forward<F>(f), std::forward<Ts>(vs)...)));
}
catch (...) {
// make sure hpx::exceptions are propagated back to the client
@@ -949,8 +950,8 @@ namespace hpx { namespace actions
// The static_cast is safe as we know that Arg0 is the result type
// of the executed action (see apply.hpp).
- static_cast<typed_continuation<Arg0> *>(this)->trigger_value(
- std::forward<Arg0>(arg0));
+ static_cast<typed_continuation<typename util::decay<Arg0>::type> *>
+ (this)->trigger_value(std::forward<Arg0>(arg0));
}
}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment