Thomas Doerfler Thomas.Doerfler at imd-systems.de
Mon Apr 28 15:53:13 UTC 2003


I think you refer to the loop starting with 

		while (tty->rawInBuf.Head != tty->rawInBuf.Tail) {

in function "fillBufferQueue" in termios.c.

IMHO a solution would be to limit the loop to the cases, when 
the variable "wait" ist still TRUE, so a replacement for the 
upper line would be

		while (wait && (tty->rawInBuf.Head != tty->rawInBuf.Tail)) {

	Thomas Doerfler.

> Hello,
> we are struggling with the termios system in the moment and we need the 
> help of the community.
> either there is a missunderstanding of cannonical processing by us or a 
> real bug in the termio system.
> the function fillBufferQuue() is responsible to transfer from raw input 
> buffer into cooked buffer and all the control character processing is 
> handled by iproc(). when iproc() signals a completed line by returning a 
> one, fillBufferQueue does not return to the caller with this line in the 
> cooked buffer, but remains in its loop and appends all further 
> characters (after cannonical processing) to the cooked buffer. IMHO 
> fillBufferQueue should return immediately after an NL, EOF, EOL or EOL2 
> was added to cooked buffer.
> this behaviour could be accomplished by adding a break instruction after 
> the wait = 0; instruction after calling siproc() in cannonical processing.
> -- 
> Schöne Grüße aus Reutlingen
> Wolfram Wadepohl
> Entwicklung
> --
> Transport- und Lagersysteme
> Dieselstraße 6
> D-72770 Reutlingen - Betzingen
> Tel.  +49 (0)71 21/5 14-2 89
> Fax   +49 (0)71 21/5 14-2 99
> eMail W.Wadepohl at indumat.de
> WWW   http://www.indumat.de
> --
> Bitte senden Sie mir keine Word- oder PowerPoint- (tm Microsoft)  Anhänge.
> Senden Sie mir einfachen Text, HTML oder PDF. 
> Siehe http://www.fsf.org/philosophy/no-word-attachments.de.html

IMD Ingenieurbuero fuer Microcomputertechnik
Thomas Doerfler           Herbststrasse 8
D-82178 Puchheim          Germany
email:    Thomas.Doerfler at imd-systems.de
PGP public key available at: http://www.imd-

More information about the users mailing list