diff options
author | Jan Vesely <[email protected]> | 2018-07-17 02:05:02 -0400 |
---|---|---|
committer | Jan Vesely <[email protected]> | 2018-07-17 21:04:15 -0400 |
commit | 866b25fd014cc50ff2bd1a56d696f4c068e46965 (patch) | |
tree | 8eb7f9e67210e451d5bfd4e1dffba6e8acbce5e7 | |
parent | e105b0ca306eb826c7b5cbc8a965e9f774d0d5b7 (diff) |
clover: Catch errors from executing event action
Abort all dependent events.
v2: Abort the current event as well.
CC: <[email protected]>
Signed-off-by: Jan Vesely <[email protected]>
Reviewed-by: Francisco Jerez <[email protected]>
-rw-r--r-- | src/gallium/state_trackers/clover/core/event.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/clover/core/event.cpp b/src/gallium/state_trackers/clover/core/event.cpp index cd5d786604d..b7eb33dbfc8 100644 --- a/src/gallium/state_trackers/clover/core/event.cpp +++ b/src/gallium/state_trackers/clover/core/event.cpp @@ -49,12 +49,14 @@ event::trigger_self() { } void -event::trigger() { +event::trigger() try { if (wait_count() == 1) action_ok(*this); for (event &ev : trigger_self()) ev.trigger(); +} catch (error &e) { + abort(e.get()); } std::vector<intrusive_ref<event>> |