.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 2007 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH bsd_signal 3 "20 июля 2023 г." "Linux man\-pages 6.05.01" .SH ИМЯ bsd_signal \- обрабатывает сигналы согласно семантике BSD .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .PP \fBtypedef void (*sighandler_t)(int);\fP .PP \fBsighandler_t bsd_signal(int \fP\fIsignum\fP\fB, sighandler_t \fP\fIhandler\fP\fB);\fP .fi .PP .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .PP \fBbsd_signal\fP(): .nf .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED Since glibc 2.26: _XOPEN_SOURCE >= 500 && ! (_POSIX_C_SOURCE >= 200809L) glibc 2.25 and earlier: _XOPEN_SOURCE .fi .SH ОПИСАНИЕ Функция \fBbsd_signal\fP() ожидает те же аргументы и выполняет ту же задачу, что и \fBsignal\fP(2). .PP Различие между ними в том, что \fBbsd_signal\fP() гарантированно предоставляет надёжную семантику сигналов, то есть: a) обработчик сигнала не сбрасывается в значение по умолчанию, при его вызове; b) доставка последующих экземпляров сигнала блокируется до тех пор, пока выполняется обработчик сигнала; c) если обработчик сигнала прерывает блокирующий системный вызов, то системный вызов автоматически перезапускается. Переносимое приложение не может полагаться на \fBsignal\fP(2), если ему нужны такие гарантии. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" Функция \fBbsd_signal\fP() возвращает предыдущее значение обработчика сигнала или \fBSIG_ERR\fP при ошибке. .SH ОШИБКИ Как в \fBsignal\fP(2). .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBbsd_signal\fP() T} Безвредность в нитях MT\-Safe .TE .sp 1 .SH ВЕРСИИ Избегайте использования \fBbsd_signal\fP(), используйте вместо неё \fBsigaction\fP(2). .PP В современных Linux\-системах \fBbsd_signal\fP() и \fBsignal\fP(2) эквивалентны. Однако на старых системах \fBsignal\fP(2) предоставляет ненадежную семантику сигналов. Подробности см. в \fBsignal\fP(2). .PP Используемый параметр \fIsighandler_t\fP является расширением GNU; данный тип определён только в том случае, если определён макрос \fB_GNU_SOURCE\fP. .SH СТАНДАРТЫ None. .SH ИСТОРИЯ 4.2BSD, POSIX.1\-2001. Removed in POSIX.1\-2008, recommending the use of \fBsigaction\fP(2) instead. .SH "СМ. ТАКЖЕ" \fBsigaction\fP(2), \fBsignal\fP(2), \fBsysv_signal\fP(3), \fBsignal\fP(7) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Artyom Kunyov , Azamat Hackimov , Dmitriy Ovchinnikov , Dmitry Bolkhovskikh , ITriskTI , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .