Scroll to navigation

gsignal(3) Library Functions Manual gsignal(3)

ИМЯ

gsignal, ssignal - программная фабрика сигналов

БИБЛИОТЕКА

Стандартная библиотека языка C (libc, -lc)

СИНТАКСИС

#include <signal.h>
typedef void (*sighandler_t)(int);
[[deprecated]] int gsignal(int signum);
[[deprecated]] sighandler_t ssignal(int signum, sighandler_t action);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

gsignal(), ssignal():


начиная с glibc 2.19:
_DEFAULT_SOURCE
glibc 2.19 и старее:
_SVID_SOURCE

ОПИСАНИЕ

Не используйте эти функции в Linux. Из-за исторической ошибки, в Linux эти функции являются псевдонимами raise(3) и signal(2), соответственно.

Elsewhere, on System V-like systems, these functions implement software signaling, entirely independent of the classical signal(2) and kill(2) functions. The function ssignal() defines the action to take when the software signal with number signum is raised using the function gsignal(), and returns the previous such action or SIG_DFL. The function gsignal() does the following: if no action (or the action SIG_DFL) was specified for signum, then it does nothing and returns 0. If the action SIG_IGN was specified for signum, then it does nothing and returns 1. Otherwise, it resets the action to SIG_DFL and calls the action function with argument signum, and returns the value returned by that function. The range of possible values signum varies (often 1–15 or 1–17).

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).

Интерфейс Атрибут Значение
gsignal() Безвредность в нитях MT-Safe
ssignal() Безвредность в нитях MT-Safe sigintr

СТАНДАРТЫ

None.

ИСТОРИЯ

AIX, DG/UX, HP-UX, SCO, Solaris, Tru64. They are called obsolete under most of these systems, and are broken under glibc. Some systems also have gsignal_r() and ssignal_r().

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

kill(2), signal(2), raise(3)

ПЕРЕВОД

Русский перевод этой страницы руководства разработал(и) Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.

2 мая 2024 г. Справочные страницы Linux 6.8