Christopher C. Stacy <email@example.com> wrote:
| Scott Schwartz <"schwartz+@usenet "@bio.cse.psu.edu> writes:
| > GP lisper <spambait@CloudDancer.com> writes:
| > > Yes, but multiple connections is a 'hard part' in lisp. Apparently,
| > > only threaded lisps can work. That's interesting, since telnetd was
| > > part of linux long before threading appeared.
| > "If people understood fork, we wouldn't have threads."
| > -- Rob Pike.
| To implement telnet correctly for one connection requires multiprocessing.
Not so, if you have a reliable "select()" and non-blocking I/O.
In that case, a single process can easily do *multiple* telnetd's.
This is within-one-process multiprogramming, not multiprocessing.
Aside#1: What CMUCL call's "multiprocessing" is no such thing. It's really
within-one-process multiprogramming, a.k.a. "cooperative green threads".]
Aside: I don't know if CMUCL's SERVE-EVENT is adequate to handle
the "telnetd" job, but it might be.
Rob Warnock <firstname.lastname@example.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607