From owner-freebsd-hackers Sun Aug 3 14:01:00 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id OAA17193 for hackers-outgoing; Sun, 3 Aug 1997 14:01:00 -0700 (PDT) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.50]) by hub.freebsd.org (8.8.5/8.8.5) with SMTP id OAA17185 for ; Sun, 3 Aug 1997 14:00:51 -0700 (PDT) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id NAA02222; Sun, 3 Aug 1997 13:58:23 -0700 From: Terry Lambert Message-Id: <199708032058.NAA02222@phaeton.artisoft.com> Subject: Re: tty-level buffer overflows To: henrich@crh.cl.msu.edu (Charles Henrich) Date: Sun, 3 Aug 1997 13:58:23 -0700 (MST) Cc: msmith@atrad.adelaide.edu.au, tom@sdf.com, freebsd-hackers@FreeBSD.ORG In-Reply-To: <19970803112147.21483@crh.cl.msu.edu> from "Charles Henrich" at Aug 3, 97 11:21:47 am X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > > Your application is busted; data is arriving faster than your app is reading > > it, and the kernel has run out of patience and started throwing the data > > away. > > Im afraid not, the application is a software Upload, with a singly byte ack > every 2k, if the serial port cant handle that, theres a problem. I would > presume that if the buffer is full, a write() should block. Input and output buffers are seperate. If they weren't, the original "cu" program, which forked using a reader and a writer as seperate processes to create the illusion of a full duplex connection, would have failed (nb: "cu" predates the select(2) and poll(2) calls). For async I/O, it would mean that a queued read request would need to complete before a queued write request could complete (nb: this was a bad problem with VMS QIO() services for full duplex protocols on serial ports, and is generally a problem for most "multidrop" serial port board drivers for commercial UNIX implementations; for example, the Altos 2000). So anyway, your input buffer is filling up. Please see my other posting for what you can do about it. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.