Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pthread_cond_wait(3-thr) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

pthread_cond_wait(3-thr)                           pthread_cond_wait(3-thr)

NAME
     pthreadcondwait - Veranlassen, daß ein Thread auf Signalisierung
     oder Broadcasting einer Condition-Variablen wartet

SYNTAX
     #include <pthread.h>

     int pthreadcondwait(
          pthreadcondt *cond,
          pthreadmutext *mutex);

PARAMETER
     cond      Die Condition-Variable, auf die gewartet wird.

     mutex     Der Mutex, der zu der in cond angegebenen Condition-Variab-
               len gehört.

BESCHREIBUNG
     Die Routine pthreadcondwait() veranlaßt einen Thread auf Signalisie-
     rung oder Broadcasting einer Condition-Variable zu warten. Jede Bedin-
     gung entspricht einem oder mehreren Prädikaten basierend auf gemeinsam
     genutzten Daten. Der aufrufende Thread wartet daruf, daß diese Daten
     einen bestimmten Status erreichen (in dem das Prädikat zutrifft).

     Rufen Sie diese Routine erst auf, nachdem Sie den in mutex angegebenen
     Mutex gesperrt haben. Die Ergebnisse dieser Routine sind unvorherseh-
     bar, wenn sie aufgerufen wird, ohne daß zuvor der Mutex gesperrt
     wurde.

     Diese Routine gibt den Mutex automatisch frei und veranlaßt den aufru-
     fenden Thread dazu, auf die Bedingung zu warten. Wenn ein Thread die
     Routine pthreadcondsignal() oder pthreadcondbroadcast() aufgerufen
     hat, und das Warten somit beendet ist, wird der Mutex erneut angelegt,
     und die Routine kehrt zurück.

     Ein Thread, der den Status des durch den Mutex geschützten Speichers
     so ändert, daß ein einer Condition-Variablen zugeordnetes Prädikat
     jetzt zutreffen könnte, muß entweder pthreadcondsignal() oder
     pthreadcondbroadcast() für die entsprechende Condition-Variable auf-
     rufen. Erfolgt keiner dieser beiden Aufrufe, bleiben alle Threads, die
     auf diese Condition-Variable warten, weiterhin im Wartestatus.

     Mit geringer Wahrscheinlichkeit kann diese Routine auch dann zurück-
     kehren, wenn keine Signalisierung oder kein Broadcasting der Condi-
     tion-Variablen erfolgt. Bei einer Pseudo-Aktivierung wird der Mutex
     erneut angelegt und zwar bevor die Routine zurückkehrt. (Für diese
     Situation sollte die Routine in eine Schleife eingeschlossen werden,
     die das Prädikat überprüft.)







Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

pthread_cond_wait(3-thr)                           pthread_cond_wait(3-thr)

RÜCKGABEWERTE
     Wenn die Funktion fehlschlägt, kann errno auf einen der folgenden
     Werte gesetzt werden:

     EINVAL    Der durch cond oder mutex angegebene Wert ist ungültig.

     EDEADLK   Es liegt eine Deadlock-Bedingung vor.

SIEHE AUCH
     pthreadcondbroadcast(3-thr), pthreadconddestroy(3-thr),
     pthreadcondinit(3-thr), pthreadcondsignal(3-thr),
     pthreadcondtimedwait(3-thr).










































Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026