Provided by: manpages-pl-dev_4.28.0-2_all bug

NAZWA

       bsd_signal - obsługa sygnałów zachowująca się jak w BSD

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #include <signal.h>

       typedef void (*sighandler_t)(int);

       sighandler_t bsd_signal(int signum, sighandler_t handler);

   Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

       bsd_signal():
           Od glibc 2.26:
               _XOPEN_SOURCE >= 500
                   && ! (_POSIX_C_SOURCE >= 200809L)
           glibc 2.25 i wcześniejsze:
               _XOPEN_SOURCE

OPIS

       Funkcja bsd_signal() przyjmuje te same argumenty i służy tym samym celom co signal(2).

       Różnicą  pomiędzy  nimi  jest to, że bsd_signal() zapewnia gwarantowaną niezawodną semantykę sygnałów, to
       jest: a) dyspozycja sygnału nie jest resetowana na domyślną,  gdy  przywoływana  jest  procedura  obsługi
       sygnału;  b)  dostarczanie  kolejnych  wystąpień  sygnału  jest blokowane w trakcie wykonywania procedury
       obsługi sygnału; c) jeśli procedura obsługi sygnału przerwie blokujące wywołania systemowe, to  wywołanie
       systemowe  jest  automatycznie  restartowane.  Przenośne  aplikacje  nie mogą polegać na zapewnianiu tych
       gwarancji przez signal(2).

WARTOŚĆ ZWRACANA

       Funkcja bsd_signal() zwraca poprzednią wartość procedury obsługi sygnału albo, w razie wystąpienia błędu,
       SIG_ERR.

BŁĘDY

       Takie jak w signal(2).

ATRYBUTY

       Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
       ┌──────────────────────────────────────────────────────────────┬────────────────────────┬───────────────┐
       │ InterfejsAtrybutWartość       │
       ├──────────────────────────────────────────────────────────────┼────────────────────────┼───────────────┤
       │ bsd_signal()                                                 │ Bezpieczeństwo wątkowe │ MT-bezpieczne │
       └──────────────────────────────────────────────────────────────┴────────────────────────┴───────────────┘

WERSJE

       Proszę unikać korzystania z bsd_signal(); należy zamiast tego używać sigaction(2).

       Na współczesnych systemach linuksowych, bsd_signal() i  signal(2)  są  równoważne.  Jednak  na  starszych
       systemach, signal(2) zapewniało zawodną semantykę sygnałów; więcej szczegółów w podręczniku signal(2).

       Korzystanie z sighandler_t jest rozszerzeniem GNU; typ ten jest definiowany tylko, gdy zdefiniowano makro
       sprawdzania cech _GNU_SOURCE.

STANDARDY

       Brak.

HISTORIA

       4.2BSD, POSIX.1-2001. Usunięte w POSIX.1-2008, z zaleceniem stosowania w zamian sigaction(2).

ZOBACZ TAKŻE

       sigaction(2), signal(2), sysv_signal(3), signal(7)

TŁUMACZENIE

       Tłumaczenie niniejszej strony podręcznika: Michał Kułach <michal.kulach@gmail.com>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją.  Bliższe informacje o warunkach licencji można uzyskać
       zapoznając  się  z  GNU General Public License w wersji 3  lub  nowszej.   Nie   przyjmuje   się   ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy  w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej manpages-pl-
       list@lists.sourceforge.net.

Linux man-pages 6.9.1                            2 maja 2024 r.                                    bsd_signal(3)