#3800: termios - Add Capability to Generate SIGINTR and SIGQUIT -----------------------------------+---------------------------- Reporter: Joel Sherrill | Owner: Joel Sherrill Type: enhancement | Status: assigned Priority: normal | Milestone: 5.1 Component: posix | Version: 5 Severity: normal | Resolution: Keywords: termios, POSIX, EINTR | Blocked By: Blocking: | -----------------------------------+---------------------------- Changes (by Joel Sherrill):
* keywords: termios, POSIX => termios, POSIX, EINTR Old description: > Currently the RTEMS termios implementation does not examine the ISIG > setting in the termios attributes and thus does not examine input for the > INTR (ctl-C) and QUIT (ctl-\) characters. > > The proposed solution implements a point at which a default handler can > do nothing like currently or the application can use the following new > method which allows them to register the RTEMS provided method > rtems_termios_posix_isig_handler(). > > {{{ > int rtems_termios_register_isig_handler( > rtems_termios_isig_handler handler > ); > }}} > > The method rtems_termios_posix_isig_handler() is provided and has the > POSIX compliant behavior of generating SIGINTR for the VINTR character > and SIGQUIT for the VQUIT character. > > The user also can register rtems_termios_default_isig_handler() to return > to the default behavior. > > The test termios10 is added to exercise this behavior. New description: Currently the RTEMS termios implementation does not examine the ISIG setting in the termios attributes and thus does not examine input for the INTR (ctl-C) and QUIT (ctl-\) characters. As a consequence, it cannot return -1/EINTR. The proposed solution implements a point at which a default handler can do nothing like currently or the application can use the following new method which allows them to register the RTEMS provided method rtems_termios_posix_isig_handler(). {{{ rtems_termios_isig_status_code rtems_termios_register_isig_handler( rtems_termios_isig_handler handler ); }}} The method rtems_termios_posix_isig_handler() is provided and has the POSIX compliant behavior of generating SIGINTR for the VINTR character and SIGQUIT for the VQUIT character. The user also can register rtems_termios_default_isig_handler() to return to the default behavior. The tests termios10 (polled IO) and termios11 (interrupt driven IO) are added to exercise this behavior. -- -- Ticket URL: <http://devel.rtems.org/ticket/3800#comment:1> RTEMS Project <http://www.rtems.org/> RTEMS Project
_______________________________________________ bugs mailing list bugs@rtems.org http://lists.rtems.org/mailman/listinfo/bugs