[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