Henrik, Could you explain this in a little more detail for me? Are you saying the socket timeout is really a semaphore problem? On Mon, Oct 10, 2011 at 17:58, Henrik Sperre Johansen <henrik.s.johansen@veloxit.no> wrote:
On 10.10.2011 23:28, John Toohey wrote:
I agree. In my own networking code, my sockets handlers on both side never timeout. I have a manager/monitor process that I use if I have to kill them.
Then raise Smalltalk vm maxExternalSemaphoresSilently: to an appropriate number (max amount of socket handlers * 3 + some headroom), save your image, and you should be set. While it has a max limit of 64k, the socket plugin code on at least windows will max out at much less than 20k open sockets, as it uses 3 OS threads per socket. (Around 1k IIRC) Semaphore timeouts were the old symptoms of running out of this space, now it gives you an explicit exception instead.
maxExternalSemaphores: Â is what is raising the error, some info _should_ be written to wherever crLog: redirects to with a NonInteractiveUIManager before the image terminates.
Cheers, Henry
-- ~JT