atfork(3-thr) atfork(3-thr)
NAME
atfork - Bei Erzeugung eines neuen Prozesses verwendete Bereinigungs-
routinen
SYNTAX
#include <pthread.h>
void atfork(
void *userstate,
void (*prefork)(),
void (*parentfork)(),
void (*childfork)());
PARAMETER
userstate Zeiger auf den Benutzerstatus, der an jede Routine über-
geben wird.
prefork Routine, die vor dem Erzeugen eines neuen Prozesses
(fork) aufgerufen werden muß.
parentfork Routine, die im Vaterprozeß nach dem Erzeugen eines neuen
Prozesses aufgerufen werden muß.
childfork Routine, die im Sohnprozeß nach dem Erzeugen eines neuen
Prozesses aufgerufen werden muß.
BESCHREIBUNG
Über die Routine atfork() können Sie drei Routinen registrieren, die
vor und nach Erzeugung eines neuen Prozesses ausgeführt werden müssen.
Im folgenden wird angegeben, wann und/oder wo die Routinen ausgeführt
werden:
- Kurz vor der Prozeßerzeugung im Vaterprozeß.
- Kurz nach der Prozeßerzeugung im Vaterprozeß.
- Kurz nach der Prozeßerzeugung im erstellten (Sohn-)prozeß.
Verwenden Sie diese Routinen für eine Bereinigung kurz vor dem Aufruf
von fork(2), für das Einrichten nach einem Aufruf von fork(2) und zum
Sperren bei einem Aufruf von fork(2). Sie können einen Parameter ange-
ben, der zusammen mit allen Routinen verwendet werden soll. Hierbei
muß es sich um den Parameter userstate handeln.
RÜCKGABEWERTE
Die Routine atfork() gibt keinen Wert zurück. Statt dessen wird eine
Ausnahmebedingung eingesetzt, wenn der Tabellenbereich für die
Handler-Adressen nicht ausreicht.
SIEHE AUCH
fork(2).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98