Do not call `GDBThread >> #stack` in `GDBThreadGroup >> #onThreadSelectedEvent:`
...since that code is executed within event loop and so may deadlock. Sigh.
--- a/GDBThreadGroup.st Fri Oct 04 22:58:21 2019 +0200
+++ b/GDBThreadGroup.st Sun Dec 01 08:40:43 2019 +0000
@@ -219,7 +219,10 @@
aGDBThreadSelectedEvent setThread: thread.
"/ Be carefull, thread may be running!!
- (thread isStopped and:[frame notNil]) ifTrue:[
+ (false "thread isStopped and:[frame notNil]") ifTrue:[
+ "/ This is actually not a good idea. This code is executed
+ "/ within event dispatching process so one may not execute
+ "/ more commands - which is what `thread stack` does. Sigh.
aGDBThreadSelectedEvent setFrame: (thread stack at: (frame level + 1))
] ifFalse:[
"/ If it is running, at least fixup it's frame, if there's any (it may not
@@ -233,7 +236,7 @@
].
"Created: / 29-07-2018 / 22:21:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 26-01-2019 / 23:35:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 20-11-2019 / 22:09:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GDBThreadGroup methodsFor:'initialization'!