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