SharedQueue issues

John M McIntosh johnmci at smalltalkconsulting.com
Fri Jun 17 06:55:43 UTC 2005


Mmm let me step back and tackle something that doesn't trash the UI. OK

s _ SharedQueue new.
f _ [[s flushAllSuchThat: [:e | true]. Processor yield] repeat]  
forkAt: Processor userBackgroundPriority.
y _ [[s nextPut: $a.
     e _ s next. Processor yield] repeat ] forkAt: Processor  
userBackgroundPriority


That locks up those two processes, but in the process browser you can  
then inspect and see that
process f sits at readSync wait, and process y sits awaiting the  
critical semaphore that f holds.

Now to propose a fix...



On 16-Jun-05, at 7:36 PM, John M McIntosh wrote:

> Well when I try this, it seems I avoid the deadlock between the two  
> semaphores, but then we trash the
> ReadSync semaphore, or something certain happens.
>

--
======================================================================== 
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
======================================================================== 
===




More information about the Squeak-dev mailing list