[RTEMS Project] #3800: termios - Add Capability to Generate SIGINTR and SIGQUIT

RTEMS trac trac at rtems.org
Mon Oct 7 21:39:22 UTC 2019


#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


More information about the bugs mailing list