View Issue Details

IDProjectCategoryView StatusLast Update
00019961003.1(2024)/Issue8System Interfacespublic2026-08-16 16:53
Reporterdhruv Assigned To 
PrioritynormalSeverityEditorialTypeEnhancement Request
Status NewResolutionOpen 
NameDhruv McElwaine
OrganizationIndependent
User Reference
Section2.3.2 Realtime Signal Generation and Delivery
Page NumberN/A
Line NumberN/A
Interp Status
Final Accepted Text
Summary0001996: Add SIGEV_SIGNAL_THREAD to allow more efficient handling of sigevent-using functions.
DescriptionCurrently, there are only two notification mechanisms for use with sigevent: SIGEV_SIGNAL and SIGEV_THREAD. Both of these methods have issue preventing their use, and so a new notification should be added.

SIGEV_THREAD typically spawns a new thread on each event, which degrades performance to the point that it defeats the purpose of using such a notification; performing the corresponding blocking opperation in a new thread would typically be both faster and more convenient. SIGEV_SIGNAL requires use of a signal handler; as signal handlers are shared between all threads in a process, this makes it unsuitable for use in a library.

To resolve this, several platforms have added mechanisms to direct the signal to a specific thread. However, this mechanism is not standardised, which imhibits its use. This proposal serves to standardise it.
Desired ActionIn 2.3.2 Realtime Signal Generation and Delivery:
Append to the definition of the sigevent struct an additional field called sigev_notify_thread of type pthread_t.

Add an addition entry to the list of valid values for sigev_notify:
SIGEV_SIGNAL_THREAD:

The signal specified in sigev_signo shall be generated for the thread specified in sigev_notify_thread when the event of interest occurs. If the SA_SIGINFO flag is set for that signal number, then the signal shall be queued to the thread and the value specified in sigev_value shall be the si_value component of the generated signal. If SA_SIGINFO is not set for that signal number, it is unspecified whether the signal is queued and what value, if any, is sent.

Tagsenhancement

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2026-08-16 16:53 dhruv New Issue
2026-08-16 16:53 dhruv Tag Attached: enhancement