signal-Handling - Anzeige der maskierten Siganle
-
Hallo,
mit der Funktion sigprocmask() ist es möglich, die maskierten/blockierten Signale
zu ermitteln. Wenn der zweite Parameter NULL ist, werden die aktuellen Werte
nach old_set geschrieben. Alles ok.
Aber wie geht es weiter? Wie kann ich mir das Signale ausgegeben lassen? In der
folgenden Form scheint es nicht korrekt zu sein, es sollte nur SIGINT maskiert sein.static void checkSignals(void) { sigset_t new_set, old_set; sigprocmask( SIG_BLOCK, NULL, &old_set); printf ("%X\n", &old_set.ss_set[0]); printf ("%X\n", &old_set.ss_set[1]); printf ("%X\n", &old_set.ss_set[2]); printf ("%X\n", &old_set.ss_set[3]); }
Weiß jemand, wie die sigset_t - Struktur korrekt weiterzubearbeiten ist?
Danke und Gruß
D.E.
-
sigset_t ist das neuer standard ?
mein compiler hat die nicht
-
helping händ schrieb:
sigset_t ist das neuer standard ?
mein compiler hat die nichtdas ist posix-kram, einfach nur ein einfacher unsigned long.
-
der op schreibt was von struktur, naja weiss auch nicht.
-
sigset_t wird unter AIX verwendet. Ich hab's mittlerweile in types.h entdeckt und
anhand dessen weitergeforscht.Davon abgesehen gibt es auch sigismember(), mit denen man die einzelnen Signale
ermitteln kann.Struktur war falsch, es ist, wie oben angegeben long, und damit war alles klar.
Gruß
D.E.
-
sigset_t wird unter AIX verwendet. Ich hab's mittlerweile in types.h entdeckt und
anhand dessen weitergeforscht.Davon abgesehen gibt es auch sigismember(), mit denen man die einzelnen Signale
ermitteln kann.Struktur war falsch, es ist, wie oben angegeben long, und damit war alles klar.
Gruß
D.E.
-
ahja, interessant,mal ganz was neues.