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

RTEMS trac trac at rtems.org
Sat Feb 1 14:11:27 UTC 2020


#3800: termios - Add Capability to Generate SIGINTR and SIGQUIT
-----------------------------------+----------------------------
 Reporter:  Joel Sherrill          |       Owner:  Joel Sherrill
     Type:  enhancement            |      Status:  reopened
 Priority:  normal                 |   Milestone:  5.1
Component:  posix                  |     Version:  5
 Severity:  normal                 |  Resolution:
 Keywords:  termios, POSIX, EINTR  |  Blocked By:
 Blocking:                         |
-----------------------------------+----------------------------

Comment (by Sebastian Huber):

 The implementation introduced a new enum:
 {{{
 /**
  * @brief Type returned by all input processing (isig) methods
  */
 typedef enum {
   /**
    * This indicates that the input character was processed
    * and possibly placed into the buffer.
    */
   RTEMS_TERMIOS_ISIG_WAS_PROCESSED,
   /**
    * This indicates that the input character was not processed and
    * subsequent processing is required.
    */
   RTEMS_TERMIOS_ISIG_WAS_NOT_PROCESSED,
   /**
    * This indicates that the character was processed and determined
    * to be one that requires a signal to be raised (e.g. VINTR or
    * VKILL). The tty must be in the right termios mode for this to
    * occur. There is no further processing of this character required and
    * the pending read() operation should be interrupted.
    */
   RTEMS_TERMIOS_ISIG_INTERRUPT_READ
 } rtems_termios_isig_status_code;
 }}}
 What was the rationale for the two status codes
 RTEMS_TERMIOS_ISIG_WAS_PROCESSED and RTEMS_TERMIOS_ISIG_WAS_NOT_PROCESSED?

 What should a handler do if it returns RTEMS_TERMIOS_ISIG_WAS_PROCESSED?
 The default handler just returns RTEMS_TERMIOS_ISIG_WAS_NOT_PROCESSED.

--
Ticket URL: <http://devel.rtems.org/ticket/3800#comment:4>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list