Provided by: manpages-de-dev_4.21.0-2_all bug

BEZEICHNUNG

       sigpause - schaltet gezielt blockierte Signale frei und wartet auf einen Interrupt

BIBLIOTHEK

       Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

       #include <signal.h>

       int sigpause(int sigmask);  /* BSD (siehe ANMERKUNGEN) */

       int sigpause(int sig);      /* System V / UNIX 95 */

BESCHREIBUNG

       Verwenden Sie diese nicht Funktion, sondern stattdessen sigsuspend(2).

       Die  Funktion sigpause() wurde entwickelt, um auf ein Signal warten. Sie ändert die Signalmaske (den Satz
       blockierter Signale) des Prozesses und wartet dann darauf, dass ein Signal eintrifft.  Nach  der  Ankunft
       eines Signals wird die ursprüngliche Signalmaske wiederhergestellt.

RÜCKGABEWERT

       Wenn  sigpause()  zurückkehrt, wurde sie durch ein Signal unterbrochen. Der Rückgabewert ist -1; der Wert
       von errno ist EINTR.

ATTRIBUTE

       Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
       ┌─────────────────────────────────────────────────────────────────────┬───────────────────────┬─────────┐
       │ SchnittstelleAttributWert    │
       ├─────────────────────────────────────────────────────────────────────┼───────────────────────┼─────────┤
       │ sigpause()                                                          │ Multithread-Fähigkeit │ MT-Safe │
       └─────────────────────────────────────────────────────────────────────┴───────────────────────┴─────────┘

STANDARDS

       Die System-V-Version von sigpause() ist in POSIX.1-2001 standardisiert. Er ist auch in POSIX.1-2008  spe‐
       zifiziert, dort aber als veraltet markiert.

ANMERKUNGEN

   Geschichte
       Die  klassische  BSD-Version  dieser Funktion erschien in 4.2BSD. Sie setzt die Signalmaske des Prozesses
       auf sigmask. UNIX 95 standardisierte die inkompatible System-V-Version dieser Funktion, die nur das ange‐
       gebene Signal sig aus der Signalmaske des Prozesses entfernt. Die unglückliche Situation mit zwei  unver‐
       einbaren  Funktionen mit dem gleichen Namen wurde von der Funktion sigsuspend(2) gelöst. Ihr Argument hat
       den Typ sigset_t * anstatt int.

   Linux-Anmerkungen
       Unter Linux ist diese Routine nur auf der Sparc-Architektur (sparc64) ein Systemaufruf.

       Glibc verwendet die BSD-Version, wenn das Feature-Test-Makro  _BSD_SOURCE  und  keines  der  Makros  _PO‐
       SIX_SOURCE,  _POSIX_C_SOURCE,  _XOPEN_SOURCE,  _GNU_SOURCE  oder _SVID_SOURCE definiert ist. Anderenfalls
       verwendet sie die System-V-Version und Feature-Test-Makros müssen wie folgt definiert sein, um die Dekla‐
       rationen zu erhalten:

       •  Seit Glibc 2.26: _XOPEN_SOURCE >= 500

       •  Glibc 2.25 und älter: _XOPEN_SOURCE

       Seit Glibc 2.19 wird nur die System-V-Version von <signal.h> angezeigt. Zu Anwendungen, die  früher  sig‐
       pause() von BSD verwendet haben, sollte sigsuspend(2) hinzugefügt werden.

SIEHE AUCH

       kill(2), sigaction(2), sigprocmask(2), sigsuspend(2), sigblock(3), sigvec(3), feature_test_macros(7)

ÜBERSETZUNG

       Die  deutsche Übersetzung dieser Handbuchseite wurde von René Tschirley <gremlin@cs.tu-berlin.de>, Martin
       Eberhard Schauer <Martin.E.Schauer@gmx.de> und Mario Blättermann <mario.blaettermann@gmail.com> erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder  neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn  Sie  Fehler  in  der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
       Mailingliste der Übersetzer.

Linux man-pages 6.03                             5. Februar 2023                                     sigpause(3)