bsd_signal(3) Library Functions Manual bsd_signal(3) NAZWA bsd_signal - obsluga sygnalow zachowujaca sie jak w BSD BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include typedef typeof(void (int)) *sighandler_t; 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 wczesniejsze: _XOPEN_SOURCE OPIS Funkcja bsd_signal() przyjmuje te same argumenty i sluzy tym samym celom co signal(2). Roznica pomiedzy nimi jest to, ze bsd_signal() zapewnia gwarantowana niezawodna semantyke sygnalow, to jest: a) dyspozycja sygnalu nie jest resetowana na domyslna, gdy przywolywana jest procedura obslugi sygnalu; b) dostarczanie kolejnych wystapien sygnalu jest blokowane w trakcie wykonywania procedury obslugi sygnalu; c) jesli procedura obslugi sygnalu przerwie blokujace wywolania systemowe, to wywolanie systemowe jest automatycznie restartowane. Przenosne aplikacje nie moga polegac na zapewnianiu tych gwarancji przez signal(2). WARTOSC ZWRACANA Funkcja bsd_signal() zwraca poprzednia wartosc procedury obslugi sygnalu albo, w razie wystapienia bledu, SIG_ERR. BLEDY Takie jak w signal(2). ATRYBUTY Informacje o pojeciach uzywanych w tym rozdziale mozna znalezc w podreczniku attributes(7). +---------------------------+--------------------------+---------------+ |Interfejs | Atrybut | Wartosc | +---------------------------+--------------------------+---------------+ |bsd_signal() | Bezpieczenstwo watkowe | MT-bezpieczne | +---------------------------+--------------------------+---------------+ WERSJE Prosze unikac korzystania z bsd_signal(); nalezy zamiast tego uzywac sigaction(2). Na wspolczesnych systemach linuksowych, bsd_signal() i signal(2) sa rownowazne. Jednak na starszych systemach, signal(2) zapewnialo zawodna semantyke sygnalow; wiecej szczegolow w podreczniku 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. Usuniete w POSIX.1-2008, z zaleceniem stosowania w zamian sigaction(2). ZOBACZ TAKZE sigaction(2), signal(2), sysv_signal(3), signal(7) TLUMACZENIE Tlumaczenie niniejszej strony podrecznika: Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.17 8 lutego 2026 r. bsd_signal(3)