From 0eae33c26ae4677953f6a036eaf388488f8f643d Mon Sep 17 00:00:00 2001 From: Eric Winger Date: Wed, 12 Oct 2022 13:52:30 -0700 Subject: [PATCH] Don't kill processes https://github.com/GemTalk/Jadeite/issues/927 Sending `kill` to a Dolphin process won't run termination blocks. I've seen cases where the Dolphin UI event handler seems to get stuck after killing a process looping over the events. Sending `terminate` instead which seems to alleviate the problem. --- sources/JadeDebugger.cls | 2 +- sources/JadePresenter.cls | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/JadeDebugger.cls b/sources/JadeDebugger.cls index 45e3a38a..73eb83db 100644 --- a/sources/JadeDebugger.cls +++ b/sources/JadeDebugger.cls @@ -376,7 +376,7 @@ reportError: gsError (debugger := self debuggerFor: gsError processOop) notNil ifTrue: [debugger getProcessList; update. - Processor activeProcess kill. + Processor activeProcess terminate. self error: 'We should never get here!!']. (#(2709 6005) includes: gsError errorReport number) ifTrue: [^self openDebuggerOnException: gsError]. diff --git a/sources/JadePresenter.cls b/sources/JadePresenter.cls index f43e3eeb..1c2b3a0c 100644 --- a/sources/JadePresenter.cls +++ b/sources/JadePresenter.cls @@ -338,7 +338,7 @@ waitForAnswer: thingThatCanAnswer [loop isAlive] whileTrue: [thingThatCanAnswer isDeafObject ifTrue: - [loop kill. "uncerimoneously kill the loop - don't run ensure blocks" + [loop terminate. "uncerimoneously kill the loop - don't run ensure blocks" ^nil]. (Delay forMilliseconds: 1) wait]]. theAnswer := [deferredValue value] on: Error