summaryrefslogtreecommitdiff
path: root/rts/Schedule.h
diff options
context:
space:
mode:
authorRyan Yates <ryates@cs.rochester.edu>2019-06-21 15:32:05 -0400
committerMarge Bot <ben+marge-bot@smart-cactus.org>2019-10-23 05:59:03 -0400
commit1f40e68aa1c02f3db685efe140dd941e6ba1edb0 (patch)
tree7d58432710c1ab53de22e740213984c442a322eb /rts/Schedule.h
parentaa7781521bf2796a6f0b3e3cfc08e9e80ae6dc47 (diff)
downloadhaskell-1f40e68aa1c02f3db685efe140dd941e6ba1edb0.tar.gz
Full abort on validate failure merging `orElse`.
Previously partial roll back of a branch of an `orElse` was attempted if validation failure was observed. Validation here, however, does not account for what part of the transaction observed inconsistent state. This commit fixes this by fully aborting and restarting the transaction.
Diffstat (limited to 'rts/Schedule.h')
-rw-r--r--rts/Schedule.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/rts/Schedule.h b/rts/Schedule.h
index 66cf8391f3..3197980041 100644
--- a/rts/Schedule.h
+++ b/rts/Schedule.h
@@ -46,6 +46,9 @@ StgWord raiseExceptionHelper (StgRegTable *reg, StgTSO *tso, StgClosure *excepti
/* findRetryFrameHelper */
StgWord findRetryFrameHelper (Capability *cap, StgTSO *tso);
+/* findAtomicallyFrameHelper */
+StgWord findAtomicallyFrameHelper (Capability *cap, StgTSO *tso);
+
/* Entry point for a new worker */
void scheduleWorker (Capability *cap, Task *task);