ИМЯ sigwaitinfo, sigtimedwait, rt_sigtimedwait - синхронное ожидание запрошенных сигналов
ОБЗОР #include <signal.h>
int sigwaitinfo(const sigset_t *set, siginfo_t *info);
int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout);
Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
sigwaitinfo(), sigtimedwait(): _POSIX_C_SOURCE >= 199309L
ОПИСАНИЕ sigwaitinfo() приостанавливает исполнение вызывающий нити до тех пор, пока не будет ожидаться один из сигналов из набора set (если один из сигналов в set уже ожидает обработки вызывающей нитью, то sigwaitinfo() завершит работу немедленно с возвратом информации об этом сигнале).
sigwaitinfo() удаляет сигнал из списка сигналов ожидающих обработки и возвращает н
...
Читать дальше »
|
ИМЯ sigsuspend, rt_sigsuspend - ожидание сигнала
ОБЗОР #include <signal.h>
int sigsuspend(const sigset_t *mask);
Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
sigsuspend(): _POSIX_C_SOURCE
ОПИСАНИЕ Вызов sigsuspend() временно заменяет маску сигналов вызывающего процесса маской, указанной в mask, и затем приостанавливает процесс до тех пор, пока не поступит сигнал, для которого запустится обработчик сигнала или это приведёт к завершению процесса.
Если по сигналу процесс завершается, то вызов sigsuspend() не возвращает управление обратно в программу. Если сигнал пойман, то возврат из sigsuspend() произойдёт после завершения выполнения обработчика, и маска сигналов восстановится в значение, которое было до вызова sigsuspend().
Си
...
Читать дальше »
|
ИМЯ sigreturn, rt_sigreturn - выполняет возврат из обработчика сигнала и очищает кадр стека
ОБЗОР int sigreturn(...);
ОПИСАНИЕ Если ядро Linux обнаруживает, что неблокированный сигнал ожидает обработки процессом, то при следующем переключении в пользовательский режим в этом процессе (например, при возврате из системного вызова или когда процесс перепланируется на ЦП), оно создаёт новый кадр в стеке пользовательского пространства, где сохраняет различные части контекста процесса (состояние слова процессора, регистры, маску сигналов и настройки стека сигналов).
Также ядро делает так, что при переходе в пользовательский режим вызывается обработчик сигналов и при возврате из обработчика управление передаётся части кода пользовательского пространства, называемого «сигнальным батутом»(signal trampo
...
Читать дальше »
|
ИМЯ rt_sigqueueinfo, rt_tgsigqueueinfo - ставит сигнал и данные в очередь
ОБЗОР int rt_sigqueueinfo(pid_t tgid, int sig, siginfo_t *uinfo);
int rt_tgsigqueueinfo(pid_t tgid, pid_t tid, int sig, siginfo_t *uinfo);
Замечание: В glibc нет обёрточных функций для этих системных вызовов; смотрите ЗАМЕЧАНИЯ.
ОПИСАНИЕ Системные вызовы rt_sigqueueinfo() и rt_tgsigqueueinfo() предоставляют низкоуровневый интерфейс для отправки сигнала с данными процессу или нити. Приёмник сигнала может получить сопутствующие данные, установив обработчик сигнала с помощью sigaction(2) с флагом SA_SIGINFO.
Данные системные вызовы не предназначены для использования непосредственно из приложения; они нужны для реализации библиотечных функций sigqueue(3) и pthread_sigqueue(3).
Системный
...
Читать дальше »
|
ИМЯ sigprocmask, rt_sigprocmask - проверка и изменение блокировки сигналов
ОБЗОР #include <signal.h>
/* Прототип обёрточной функции glibc */ int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);
/* Прототип используемого системного вызова */ int rt_sigprocmask(int how, const kernel_sigset_t *set, kernel_sigset_t *oldset, size_t sigsetsize);
/* Прототип устаревшего системного вызова */ int sigprocmask(int how, const old_kernel_sigset_t *set, old_kernel_sigset_t *oldset);
Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
sigprocmask(): _POSIX_C_SOURCE
ОПИСАНИЕ Вызов sigprocmask() используется для выборки и/или изменения маски сигналов вызывающей нити. Маска сигналов представляет собой набор сигналов, чья доставка в на
...
Читать дальше »
|
ИМЯ sigpending, rt_sigpending - проверка ожидающих сигналов
ОБЗОР #include <signal.h>
int sigpending(sigset_t *set);
Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
sigpending(): _POSIX_C_SOURCE
ОПИСАНИЕ Вызов sigpending() возвращает набор сигналов, которые ожидают доставки в вызвавшую нить (т.е., сигналы, возникшие пока были заблокированы). Маска ожидающих сигналов возвращается в set.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ При успешном выполнении функция sigpending() возвращает 0 и -1 при ошибке. В случае ошибки в errno указывается номер ошибки.
ОШИБКИ EFAULT Аргумент set указывает на память в недопустимой части адресуемого пространства.
СООТВЕТСТВИЕ СТАНДАРТАМ POS
...
Читать дальше »
|
ИМЯ sigaction, rt_sigaction - получает и изменяет обработчик сигнала
ОБЗОР #include <signal.h>
int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
sigaction(): _POSIX_C_SOURCE
siginfo_t: _POSIX_C_SOURCE >= 199309L
ОПИСАНИЕ Системный вызов sigaction() используется для изменения выполняемого процессом действия при получении определённого сигнала (список сигналов смотрите в signal(7)).
В signum указывается сигнал; может принимать значение любого корректного сигнала за исключением SIGKILL и SIGSTOP.
Если значение act не равно NULL, то устанавливается новое действие для сигнала signum из act. Если значение oldact не равно NULL, то предыдущее д
...
Читать дальше »
| « 1 2 ... 14 15 16 17 18 ... 59 60 » |