bsd_signal(3) Library Functions Manual bsd_signal(3) BEZEICHNUNG bsd_signal - Signalhandhabung mit BSD-Semantiken BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include typedef void (*sighandler_t)(int); sighandler_t bsd_signal(int signum, sighandler_t handler); Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)): bsd_signal(): Seit Glibc 2.26: _XOPEN_SOURCE >= 500 && ! (_POSIX_C_SOURCE >= 200809L) Glibc 2.25 und alter: _XOPEN_SOURCE BESCHREIBUNG Die Funktion bsd_signal() akzeptiert die gleichen Argumente und fuhrt die gleiche Aufgabe wie signal(2) durch. Der Unterschied zwischen den beiden besteht darin, dass bsd_signal() garantiert, zuverlassige Signalsemantiken bereitzustellen, konkret: a) Die Disposition des Signals wird nicht auf den Standardwert zuruckgesetzt, wenn der Handhaber aufgerufen wird; b) Die Auslieferung weiterer Instanzen des Signals wird blockiert, wahrend der Signal-Handhaber ausgefuhrt wird; und c) Falls der Handhaber einen blockierenden Systemaufruf unterbricht, dann wird der Systemaufruf automatisch neu gestartet. Eine portierbare Anwendung kann sich nicht darauf verlassen, dass signal(2) diese Garantien bereitstellt. RUCKGABEWERT Die Funktion bsd_signal() liefert den vorherigen Wert des Signal-Handhabers zuruck oder SIG_ERR im Fehlerfall. FEHLER Wie bei signal(2). ATTRIBUTE Siehe attributes(7) fur eine Erlauterung der in diesem Abschnitt verwandten Ausdrucke. +--------------------------------+-------------------------+-----------+ |Schnittstelle | Attribut | Wert | +--------------------------------+-------------------------+-----------+ |bsd_signal() | Multithread-Fahigkeit | MT-Sicher | +--------------------------------+-------------------------+-----------+ VERSIONEN Die Verwendung von bsd_signal() sollte vermieden werden, verwenden Sie stattdessen sigaction(2). Auf modernen Linux-Systemen sind bsd_signal() und signal(2) aquivalent. Aber auf alteren Systemen stellte signal(2) unzuverlassige Signalsemantiken bereit, siehe signal(2) zu Details. Die Verwendung von sighandler_t ist eine GNU-Erweiterung; dieser Typ ist nur definiert, falls das Feature-Test-Makro _GNU_SOURCE definiert ist. STANDARDS Keine. GESCHICHTE 4.2BSD, POSIX.1-2001. In POSIX.1-2008 entfernt, es wird stattdessen die Verwendung von sigaction(2) empfohlen. SIEHE AUCH sigaction(2), signal(2), sysv_signal(3), signal(7) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.8 2. Mai 2024 bsd_signal(3)