Today is the timeout day for this fast-track case.

So, I want to put in my final comments about the interesting,
sometimes heated, discussion that has been going on.

1. Although the idea of making {RTSIG_MAX} be a system tunable
   is an intriguing possibility, it would have marginal utility.

   It would not relieve any pressure on kernel data structures.
   Those would have to be configured for the maximum tunable value.

   It would not enable a possible future reduction in the maximum
   tunable value because some customers will use the maximum
   value and we would do them a disservice (and incur their wrath)
   by reducing it.

   Therefore, the value of {RTSIG_MAX} will be a fixed quantity
   (as will NSIG and MAXSIG).

2. The number of realtime signals (32 or 64) has been vigorous debated.

   I argued that sigqueue() could be used for sending signals with
   its additional 'union sigval' argument providing for many more
   discriminating values than just the number of realtime signal numbers.

   In support of this position, I found this statement in the latest
   Posix standard (IEEE Std 1003.1(tm)-2008):

      Rationale for System Interfaces

      B.2.4.2 Realtime Signal Generation and Delivery

      An application-defined value passed to the signal handler is used
      to differentiate between different "events" instead of requiring
      that the application use different signal numbers for several reasons:

      - Realtime applications potentially handle a very large number of
        different events.  Requiring that implementations support a
        correspondingly large number of distinct signal numbers will
        adversely impact the performance of signal delivery because the
        signal masks to be manipulated on entry and exit to the handlers
        will become large.

      - Event notifications are prioritized by signal number (the rationale
        for this is explained in the following paragraphs) and the use of
        different signal numbers to differentiate between the different
        event notifications overloads the signal number more than has
        already been done. It also requires that the application developer
        make arbitrary assignments of priority to events that are logically
        of equal priority.

   I stand firm on my proposal to make the number be 32.

This fast-track times out at close-of-business today.

Roger Fauilkner

Reply via email to