Skip to content

Commit 52b3588

Browse files
Fix dealock on PythonError in socket message broker.
1 parent 740f5c7 commit 52b3588

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/PythonBridge/PBExecutionHandler.class.st

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,12 @@ PBExecutionHandler >> registerPromiseForCommand: aCommand [
137137

138138
{ #category : #'as yet unclassified' }
139139
PBExecutionHandler >> safeTriggerDebugger: error [
140-
[ self triggerDebugger: error ]
141-
ifCurtailed: [
142-
^ error proceedAction: error defaultProceedAction ]
140+
| sem |
141+
sem := Semaphore new.
142+
[ [ self triggerDebugger: error ] ensure: [ sem signal ] ]
143+
on: PBPythonError fork: [ :e | PBPlatform current uiManager spawnDebuggerOnException: e ].
144+
sem wait.
145+
^ error proceedAction: error defaultProceedAction
143146
]
144147

145148
{ #category : #'private protocol' }

0 commit comments

Comments
 (0)