pthread_sigqueue -
вставляет
сигнал и
данные в
очередь
нити
POSIX threads library (
libpthread,
-lpthread)
#include <signal.h>
#include <pthread.h>
int pthread_sigqueue(pthread_t thread, int sig,
const union sigval value);
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).
rt_tgsigqueueinfo(2),
sigaction(2),
pthread_sigmask(3),
sigqueue(3),
sigwait(3),
pthreads(7),
signal(7)
Русский
перевод
этой
страницы
руководства
был сделан
Alexey, Azamat Hackimov <
[email protected]>, kogamatranslator49
<
[email protected]>, Kogan, Max Is <
[email protected]>, Yuri
Kozlov <
[email protected]> и Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]