pthread_mutex_consistent(3) Library Functions Manual pthread_mutex_consistent(3)

pthread_mutex_consistent - Einen robusten Mutex konsistent machen

POSIX-Threads-Bibliothek (libpthread-lpthread)

ÜBERSICHT

#include <pthread.h>
int pthread_mutex_consistent(pthread_mutex_t *mutex);
Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):

pthread_mutex_consistent():

    _POSIX_C_SOURCE >= 200809L

Diese Funktion macht einen robusten Mutex konsistent, falls er in einem inkonsistenten Zustand ist. Ein Mutex kann in einem inkonsistenten Zustand verbleiben, wenn sich sein Eigentümer beendet, während er den Mutex hält. In diesem Fall wird der nächste Eigentümer, der den Mutex erlangt, erfolgreich sein und durch einen Rückgabewert von EOWNERDEAD bei einem Aufruf von pthread_mutex_lock() benachrichtigt werden.

Im Erfolgsfall liefert pthread_mutex_consistent() 0 zurück. Andernfalls liefert sie eine positive Fehlernummer zurück, um den Fehler anzuzeigen.

Der Mutex ist entweder nicht robust oder nicht in einem inkonsistenten Zustand.

POSIX.1-2008.

Glibc 2.12. POSIX.1-2008.

Bevor pthread_mutex_consistent() zu POSIX hinzugefügt wurde, definierte Glibc die folgende, nicht standardisierte äquivalente Funktion, falls _GNU_SOURCE definiert war:

[[veraltet]]
int pthread_mutex_consistent_np(const pthread_mutex_t *mutex);

Diese GNU-spezifische API, die erstmals in Glibc 2.4 erschien, ist heutzutage veraltet und sollte in neuen Programmen nicht mehr verwandt werden; seit Glibc 2.34 ist sie als veraltet markiert.

pthread_mutex_consistent() informiert die Implementierung einfach, dass der vom Mutex gesicherte Zustand (gemeinsam verwandte Daten) in einem konsistenten Zustand wiederhergestellt wurde und dass jetzt normale Aktionen mit dem Mutex durchgeführt werden können. Es liegt in der Verantwortung der Anwendung sicherzustellen, dass die gemeinsamen Daten in einen konsistenten Zustand wiederhergestellt wurden, bevor sie pthread_mutex_consistent() aufruft.

Siehe pthread_mutexattr_setrobust(3).

pthread_mutex_lock(3), pthread_mutexattr_getrobust(3), pthread_mutexattr_init(3), pthread_mutexattr_setrobust(3), pthreads(7)

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> 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.

23. Juli 2024 Linux man-pages 6.12