int sigqueue (pid_tpid, intsig, const union sigvalvalue);
Вимоги макросу тестування властивостей для glibc (див. Feature_test_macros (7)):
Виклик sigqueue () відправляє сигнал, зазначений в sig. процесу з ідентифікатором PID, визначеному в pid. Потрібні певні права для відправки сигналу, такі ж як для kill (2). Як і у випадку з kill (2), порожній сигнал (0) може використовуватися для перевірки того, що заданий PID взагалі існує.
Аргумент value використовується для вказівки супутнього елемента даних (або цілого, або покажчика), що відправляються сигналу, і має наступний тип:
Якщо у процесу, що приймає сигнал, встановлений обробник за допомогою sigaction (2) з прапором SA_SIGINFO. то він може отримати дані через поле si_value структури siginfo_t. переданої як другий аргумент для обробника. Крім цього, значення поля si_code цієї структури буде встановлено в SI_QUEUE.
ПОВЕРНЕНЕ ЗНАЧЕННЯ
При успішному виконанні sigqueue () повертається 0, що означає, що сигнал потрапив в чергу приймає процесу. При помилковому повертає -1 і в errno міститься код помилки.
EAGAIN Досягнуто обмеження на кількість сигналів в черзі (докладніше про це дивіться в signal (7)). EINVAL Значення sig некоректно. EPERM Процес не має прав для відправки сигналу приймає процесу. Необхідні права дивіться в kill (2). ESRCH Ні процесу з ідентифікатором PID, відповідному зазначеним pid.
Функція sigqueue () і використовуваний їй системний виклик rt_sigqueueinfo () вперше з'явилися в Linux 2.2.
Опис термінів даного розділу дивіться в attributes (7).