From 191a6e472e886ff85dc28b1df6cab2d003a9d289 Mon Sep 17 00:00:00 2001 From: Eric Winger Date: Tue, 2 Nov 2021 12:36:35 -0700 Subject: [PATCH] sigAbort during begin transaction fails Need to make sure handling the sig abort runs the handler blocks and tells the user of the failure. --- sources/Rowan UI Base.pax | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/sources/Rowan UI Base.pax b/sources/Rowan UI Base.pax index 3d566fb2..376cbffc 100644 --- a/sources/Rowan UI Base.pax +++ b/sources/Rowan UI Base.pax @@ -1097,7 +1097,7 @@ You must abort your transaction before retrying the operation. Would you like to abort now?') ifTrue: [JadePresenter abortTransactionInSession: self]]] ensure: [self enableSignaledAbortError "must reenable each time a sig abort error is received"]. - error abort "Shutdown this process. An abort happened or needs to happen"! + Processor activeProcess terminate "this should run exception handlers" ! hasServer @@ -2159,10 +2159,13 @@ autoCommitExecutionString basicBeginTransaction | answeringService | - answeringService := RowanAnsweringService new. - answeringService exec: 'System beginTransaction' session: gciSession. - self setInTransaction: answeringService session: gciSession. - JadePresenter trigger: #abortedTransaction! + + [answeringService := RowanAnsweringService new. + answeringService exec: 'System beginTransaction' session: gciSession] + ensure: + [self setInTransaction: answeringService session: gciSession. + JadePresenter trigger: #abortedTransaction. + self inTransaction ifFalse: [MessageBox notify: 'Begin transaction failed. Please try again.']]! basicCloneProject: path root: root | service |