[squeak-dev] Process conflict when redisplaying World
Trygve Reenskaug
trygver at ifi.uio.no
Wed May 6 15:50:09 UTC 2009
Image is Squeak3.10.gamma.7159.
I have a visualization demo. It runs in a separate process to permit
mouse and keyboard input while it runs:
startChaosAnimation
currentState = #CHAOS ifTrue: [^self].
currentState := #CHAOS.
processSemaphore wait.
BB2ChaosCtx startChaosAnimationOn: data.
processSemaphore signal.
] fork.
BB2ChaosCtx startChaosAnimationOn: data starts a loop that creates and
removes Morphs interspersed with suitable Delays to get the speed right.
The process can run for several hours before crashing in various ways.
It sometimes crashes with a primitiveError while redisplaying World. A
simpler stop was an MNU in
MorphicEventDispatcher>>dispatchDefault: anEvent with: aMorph
where aMorph = a PasteUpMorph [world], with fullBounds = nil
My process is clearly in some unfortunate state when the main process
repaints or handles the mouse. Any ideas how I should make my process safe?
Thanks in advance
--Trygve
--
Trygve Reenskaug mailto: trygver at ifi.uio.no
Morgedalsvn. 5A http://heim.ifi.uio.no/~trygver
N-0378 Oslo Tel: (+47) 22 49 57 27
Norway
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20090506/2bf00df6/attachment.htm
More information about the Squeak-dev
mailing list
|