HELP! Squeak is locking up! ( Re: Squeak becomes (almost) autistic???)
Bob Arning
arning at charm.net
Fri Oct 27 03:52:25 UTC 2000
John,
There were some missing brackets in the #sendingRun, so it's a bit hard to be sure things are all in the right places. I would be inclined to get some measurements to try to see what's happening. Something like the following
sendingRun
...
stats _ Smalltalk at: #Q ifAbsentPut: [OrderedCollection new].
[true] whileTrue: [
nextValue _ self sharedQ next.
t _ [self processItemToSend: nextValue] timeToRun.
stats add: {Time millisecondClockValue. t. 'sending'}.
delay1 wait.
]
receivingRun
...
stats _ Smalltalk at: #Q ifAbsentPut: [OrderedCollection new].
[true] whileTrue: [
(ss _ self cQ getConnectionOrNil) ifNotNil: [
(ss waitForDataUntil: Socket standardDeadline) ifFalse: [self error: 'receive timeout'].
bytesReceived _ ss receiveDataInto: ba.
t _ [self processItemReceived: ba count: bytesReceived] timeToRun.
stats add: {Time millisecondClockValue. t. 'receiving'}.
ss closeAndDestroy.
].
delay1 wait
]
Then let it run for a while, take a look at Q and see how often data was sent and received and how long it took to do so.
WRT the priority question, these guys should probably be at a higher priority than the UI process, but until you figure out who is stealing all the cycles, I wouldn't worry about the priorities.
Cheers,
Bob
More information about the Squeak-dev
mailing list
|