Friday, November 09, 2007

Remember remember...

...the 9th of November.

If you want a probably stable version of Seaside for Dolphin, do this little two modifications to the recently released version:

Replace HTTPConnection>>#close by this:

self stream close.
self server removeConnection: self.
self loop notNil ifTrue: [self loop terminate].
loop := nil

And replace HTTPConnection>>#interact by this:

"longer description is below method"
| interactionBlock |
interactionBlock := [
[ [ true ] whileTrue: [ self getAndDispatchMessages. Processor yield ] ]
on: SpError
do: [:ex | self close ]
on: ProcessTermination
do: [:ex | self loop: nil ]].
self server isMultiThreading
ifTrue: [self loop: (interactionBlock forkAt: Processor userBackgroundPriority)]
ifFalse: [interactionBlock value].

And all the zombie processes won't be there anymore. Isn't that what you was after? :-)

Being almost midnight it remembers me a fantastic goal in extended time.

Thanks to Sebastián Calvo (aka Gallego) by working together with me to solve this until this late, after all he is talented to solve this kind of stuff. Hat tip gallego!


Post a Comment

<< Home

web site analysis