[RTEMS Project] #3214: non-blocking termios interface
RTEMS trac
trac at rtems.org
Tue Oct 31 22:09:23 UTC 2017
#3214: non-blocking termios interface
----------------------------+--------------------
Reporter: Stavros Passas | Owner: (none)
Type: defect | Status: new
Priority: normal | Milestone:
Component: rtems | Version: 4.12
Severity: normal | Keywords:
----------------------------+--------------------
We face some issues with TERMIOS, when used on slow UART devices when
running on RTEMS master. This was not happening before the last big
refactoring of TERMIOS.
Even when the tty is blocking, rtems_termios_write_tty function is calling
doTransmit with
{{{
wait = true
nextWait = false.
}}}
However in doTransmit, wait is over-written with nextWait at the end of
each loop, so after one loop wait becomes false regardless if a write is
blocking or non-blocking, and the function may return before writing all
the characters.
I think what it is intended to be done there is to do wait |= nextWait, so
if wait is already true, it remains true for the entire function.
--
Ticket URL: <http://devel.rtems.org/ticket/3214>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list