From: Andy Parkins <andyparkins@gmail.com>
To: linux-serial@vger.kernel.org
Subject: Re: tcdrain / TCSBRK / wait_until_sent delay
Date: Mon, 9 May 2005 16:53:53 +0100 [thread overview]
Message-ID: <200505091653.57855.andyparkins@gmail.com> (raw)
In-Reply-To: <m37ji8lpof.fsf@zoo.weinigel.se>
[-- Attachment #1: Type: text/plain, Size: 846 bytes --]
On Monday 2005 May 09 10:22, Christer Weinigel wrote:
> Christer Weinigel <christer@weinigel.se> writes:
> > do {
> > ioctl(fd, TIOCSERGETLSR, &lsr);
> > } while (lsr & TIOCSER_TEMT);
In case you are interested, I found another problem (but this time a solution
too); my code is now (edited for brevity):
do {
ioctl(fd, TIOCSERGETLSR, &i);
} while( !i & TIOCSER_TEMT );
tcdrain( fd );
The tcdrain() at the bottom returns fast (presumably because the transmit
buffer is already empty) so the original problem is solved. Without the
tcdrain() the port is left in a strange state - at random, future writes are
silently dropped. The echo back when this happens is simply a NUL. With the
tcdrain() in place, that problem goes away as well.
Andy
--
Dr Andrew Parkins, M Eng (hons), AMIEE
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2005-05-09 15:54 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-05 15:50 tcdrain / TCSBRK / wait_until_sent delay Andy Parkins
2005-05-05 17:51 ` rich+ml
2005-05-06 8:01 ` Andy Parkins
2005-05-06 19:14 ` rich+ml
2005-05-07 9:35 ` Andy Parkins
2005-05-07 18:09 ` rich+ml
2005-05-09 8:01 ` Andy Parkins
[not found] ` <Pine.LNX.4.58.0505090825470.750@deadrat.localdomain>
2005-05-10 7:44 ` Andy Parkins
2005-05-09 8:16 ` Tosoni
2005-05-09 8:59 ` Russell King
2005-05-09 10:03 ` Tosoni
2005-05-09 10:13 ` Russell King
2005-05-09 15:43 ` Theodore Ts'o
2005-05-07 10:32 ` Gerald Emig
2005-05-09 9:15 ` Christer Weinigel
2005-05-09 9:22 ` Christer Weinigel
2005-05-09 11:05 ` Andy Parkins
2005-05-09 15:53 ` Andy Parkins [this message]
2005-05-09 19:45 ` rich+ml
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200505091653.57855.andyparkins@gmail.com \
--to=andyparkins@gmail.com \
--cc=linux-serial@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.