Linux repositories inspector

pthread_sigqueue(3) - Russkiy

Linux
2017-09-15

man-pages-ru

Russian man pages from the Linux Documentation Project

manpages-dev

Manual pages about using GNU/Linux for development

man-pages

Linux kernel and C library user-space interface documentation

ИМЯ

pthread_sigqueue - вставляет сигнал и данные в очередь нити

ОБЗОР

#include <signal.h>
#include <pthread.h>

int pthread_sigqueue(pthread_t thread, int sig, const union sigval value);
Компилируется и компонуется вместе с -pthread.
Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
pthread_sigqueue(): _GNU_SOURCE

ОПИСАНИЕ

Функция pthread_sigqueue() выполняет схожу с sigqueue(3) задачу, но посылает сигнал не процессу, а нити из того же процесса, что и вызвавшая функцию нить.
В аргументе thread указывается ID нити в том же процессе, что и вызывающий. В аргументе sig задаётся отправляемый сигнал. В аргументе value указываются данные, прилагаемые к сигналу; подробности смотрите в sigqueue(3).

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

При успешном выполнении pthread_sigqueue() возвращается 0; при ошибке возвращается номер ошибки.

ОШИБКИ

EAGAIN Достигнуто ограничение на количество сигналов в очереди (подробней об этом смотрите в signal(7)).
EINVAL Значение sig некорректно.
ENOSYS Функция pthread_sigqueue() не поддерживается в этой системе.
ESRCH Некорректное значение thread.

ВЕРСИИ

Функция pthread_sigqueue() впервые появилась в glibc 2.11.

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).
Интерфейс Атрибут Значение
pthread_sigqueue() Безвредность в нитях MT-Safe

СООТВЕТСТВИЕ СТАНДАРТАМ

Эта функция является расширением GNU.

ЗАМЕЧАНИЯ

Реализация pthread_sigqueue() в glibc выдаёт ошибку (EINVAL) при попытке послать сигналы реального времени, которые используются внутри реализации NPTL. Подробности смотрите в nptl(7).

СМОТРИТЕ ТАКЖЕ

⇧ Top