SIGRTMIN и SIGRTMAX
В POSIX-системах, SIGRTMIN и SIGRTMAX — первый и последний из диапазона пользовательских сигналов, который может быть использован для межпроцессных коммуникаций в реальном времени.
SIGRTMIN и SIGRTMAX — целочисленные константы, определенные в заголовочном файле signal.h. Для определения второго и последующих сигналов используют конструкции типа «SIGRTMIN + n» (где n — натуральное число). Символьные имена сигналов используются вместо номеров, так как в разных реализациях номера сигналов могут различаться.
Общие сведения
| SIGRTMIN — SIGRTMAX | |
|---|---|
| Описание | Пользовательские сигналы реального времени |
| По умолчанию | завершение процесса |
| Коды SA_SIGINFO | |
| Не имеет специфических кодов | |
Этимология
Использование
Сигналы с SIGRTMIN по SIGRTMAX являются набором сигналов, предназначенных для использования программами для собственных целей.
На разных системах может быть реализовано разное количество сигналов реального времени, в том числе только один SIGRTMIN.
Сигналы реального времени имеют некоторые свойства, отличающие их от остальных сигналов:
- можно послать несколько сигналов реального времени с гарантией доставки каждого,
- с сигналом реального времени можно передать целочисленное значение или указатель,
- гарантируется, что сигналы реального времени будут доставлены в той последовательности, в которой они были посланы.
Реализация потоков в glibc использует для внутренних нужд два (для NPTL, Linux версии 2.6 и выше) или три (для LinuxThreads, Linux до версии 2.6) сигнала реального времени.[1] Это является ещё одной причиной того, что программы не должны использовать номер сигнала напрямую.