Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site uthub.UUCP Path: utzoo!utcsri!utai!uthub!thomson From: thomson@uthub.UUCP (Brian Thomson) Newsgroups: net.unix-wizards,net.lan,net.bugs.4bsd Subject: Re: Serious telnetd/rlogin/telnet performance bug Message-ID: <288@uthub.UUCP> Date: Thu, 17-Apr-86 14:56:55 EST Article-I.D.: uthub.288 Posted: Thu Apr 17 14:56:55 1986 Date-Received: Thu, 17-Apr-86 16:28:42 EST References: <380@quest.UUCP> Distribution: net Organization: CSRI, University of Toronto Lines: 19 From Stuart Levy: > Select() indicates that a file descriptor can be written to if ANY > buffer space is available; but a write() with the > non-blocking mode set will return EWOULDBLOCK unless there is enough room > for the entire write buffer. [...] > The REAL way to fix this problem would be to redefine non-blocking > I/O, I think, to make it possible to indicate a partial read or write > accompanied by an error, such as EWOULDBLOCK or EINTR. I submitted such a fix in December 1983. It has, I believe, been adopted in 4.3; in any case, we have been running happily with partial reads/writes for over three years. Check your Mt. Xinu buglist, or send me a note if you want a copy of the fix. I also have a performance fix for pseudo-ttys that originally went out in June 1984. You may want that, too. -- Brian Thomson, CSRI Univ. of Toronto {linus,ihnp4,uw-beaver,floyd,utzoo}!utcsrgv!uthub!thomson