<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">
                                        
                                        
                                            
                                        
                                        
                                        Hi Jakob.<div><br></div><div>Just think of two processes: consumer and producer -- shared queue with semaphore in between. How can we have two debuggers that enable us to step each process alternatingly. Your case with the UI process is just a special instance of an overall challenge we might want to address in Squeak's debugging  infrastructure.</div><div><br></div><div>I think that we added #effectiveProcess only for process-local variables? Or did we already tackle some semaphore/mutex issues with it?</div><div><br></div><div>... maybe the debugger should consider whether a process could be scheduled at all? I don't think that Squeak's processes encode this state at the moment. They are either scheduled or not. The latter could mean anything: waiting for a semaphore, manually suspended for debugging, ...</div><div><br></div><div>Best,</div><div>Marcel</div><div class="mb_sig"></div>
                                        
                                        <blockquote class="history_container" type="cite" style="border-left-style: solid;border-width: 1px;margin-top: 20px;margin-left: 0px;padding-left: 10px;min-width: 500px">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 28.07.2020 21:24:02 schrieb Jakob Reschke <forums.jakob@resfarm.de>:</p><div style="font-family:Arial,Helvetica,sans-serif">Am Mo., 27. Juli 2020 um 11:19 Uhr schrieb Marcel Taeumel<br><marcel.taeumel@hpi.de>:<br>><br>> Could we always use the fallback code? Hmmm....<br>><br><br>Would it help in this particular situation? "Primitive failed" is "not<br>fully functional" compared to a real Semaphore>>wait. And I doubt that<br>it would be right to put in some debugging stub in the fallback<br>implementation (e. g. a busy wait), though it might be okay. So the<br>general question would be: what to do when essential primitives are<br>encountered? And in particular the ones that will block...<br><br></marcel.taeumel@hpi.de></div></blockquote></div>