[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