Squeak SmalltalkJoker Squeak Smalltalk : Network : prevnext Net Name Resolver

At times (well, this happened twice) my images get unable to connect the
Internet.

After investigation I found that NetNameResolver>>addressForName:timeout:
was broken because the Semaphore referenced in ResolverMutex refused to
evaluate its critical block, even though they was no other process
involving NetNameResolver running.

I add to explore the classPool of NetNameResolver and evaluate the
following there:

self at: #ResolverMutex put: nil

... which did the trick.

Any idea why the problem appeared in the first place ? Is there a simpler
way to fix it ?

Stephane Rollandin 03/03
---
i found this bug over Christmas (on Windows2K, 3.1alpha 3880):

[Socket initializeNetwork] fork.
Socket initializeNetwork.

if you execute

NetNameResolver addressForName: 'www.yahoo.com' timeout: 45

after executing the first snippet, the NetNameResolver takes the full 45=
 seconds to (correctly) return the resolved address, instead of returning as=
 soon as it is finished.

stoping and restarting Squeak (and doing Socket initializeNetwork without=
 forking) eliminated the problem.

david farber 12/02