a user of GNU Smalltalk found a serious bug in Swazoo 2.2. To reproduce
the bug, open any Swazoo page and close the browser. Running netstat
will show sockets in CLOSE_WAIT state. Repeating will show more sockets
in this state.
The problem here is that when the client closes the socket, this
condition is returned by SwazooStream as a SwazooStreamNoDataError
exception; at this point, the stream should be closed on the Swazoo side
By the way, I'm not sure about the need for those delays either.
There's one here and one in #getAndDispatchMessages. They don't seem to
be necessary on GNU Smalltalk.
Finally, here we're using #on:do: directly rather than the Sport
wrapper. I think we should do this uniformly in Swazoo for this
particular case, since exceptions are now portable and we're relying on
the ANSI #ifCurtailed: message anyway.