pthread_cleanup_push(3-thr) pthread_cleanup_push(3-thr)
NAME
pthreadcleanuppush - Eine Bereinigungsroutine einrichten
SYNTAX
#include <pthread.h>
void pthreadcleanuppush(
void routine,
pthreadaddrt arg);
PARAMETER
routine Die Routine, die als Bereinigungsroutine ausgeführt werden
soll.
arg Parameter, der mit der Bereinigungsroutine ausgeführt wird.
BESCHREIBUNG
Die Routine pthreadcleanuppush() speichert die angegebene Routine in
den Bereinigungs-Stack des aufrufenden Threads ein. Die Bereinigungs-
routine wird aus dem Stack geholt und mit dem Parameter arg ausge-
führt, wenn eine der folgenden Aktionen erfolgt:
- Der Thread ruft pthreadexit() auf.
- Der Thread wird abgebrochen.
- Der Thread ruft pthreadcleanuppop() auf und gibt für den Parame-
ter execute einen Wert ungleich Null an.
Diese Routine und die Routine pthreadcleanuppop() werden als Makros
implementiert und müssen als Anweisungen paarweise innerhalb desselben
lexikalischen Gültigkeitsbereichs angezeigt werden. Hierbei kann man
sich vorstellen, daß das Makro pthreadcleanuppush() in eine Zeichen-
kette aufgelöst wird, deren erstes Zeichen eine { (linke geschweifte
Klammer) ist, und das Makro pthreadcleanuppop() in eine Zeichenkette
aufgelöst wird, die das zugehörige Zeichen } (rechte geschweifte Klam-
mer) enthält.
RÜCKGABEWERTE
Diese Routine muß als Anweisung verwendet werden.
SIEHE AUCH
pthreadcancel(3-thr), pthreadcleanuppop(3-thr),
pthreadexit(3-thr), pthreadtestcancel(3-thr).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98