Subject: Re: DNS failures from within the MOO on NeXT

From: [email-masked] (Jeff Prothero)
Date: Tue, 27 Apr 1993 12:47:32 -0700

| In order to protect itself from unbounded delays in converting numeric IP
| addresses into DNS names, the server sets a five-second timeout on its calls...
I've thought of splitting a mud into two unix tasks, one to handle interactive
stuff, and one to take big time hits such as this.  The regular interactive
one would have to be pre-emptive enough to be able to suspend the task
taking the hit, of course ... probably not hard in this instance.

---

From: Robert Leslie <[email-masked]>
Date: Thu, 29 Apr 1993 20:38:17 -0700

> | addresses into DNS names, the server sets a five-second timeout on its
> | calls...
>
> I've thought of splitting a mud into two unix tasks, one to handle
> interactive stuff, and one to take big time hits such as this.  The regular
> interactive one would have to be pre-emptive enough to be able to suspend
> the task taking the hit, of course ... probably not hard in this instance.

This is, in fact, exactly what LPmuds do. Each time a new user connects, the
IP address is sent to a sister process for the gethostbyaddr() call. The
server then continues processing until an answer arrives (if ever). The answer
can then be cached for future reference.

The sister process is very small and consumes comparatively no CPU. It could
potentially handle other tasks that are also likely to block, but to date no
one has been able to think of anything else.

 -dj