pthread_mutex_consistent(3) | Library Functions Manual | pthread_mutex_consistent(3) |
BEZEICHNUNG
pthread_mutex_consistent - Einen robusten Mutex konsistent machen
BIBLIOTHEK
POSIX-Threads-Bibliothek (libpthread, -lpthread)
ÜBERSICHT
#include <pthread.h>
int pthread_mutex_consistent(pthread_mutex_t *mutex);
pthread_mutex_consistent():
_POSIX_C_SOURCE >= 200809L
BESCHREIBUNG
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.
RÜCKGABEWERT
Im Erfolgsfall liefert pthread_mutex_consistent() 0 zurück. Andernfalls liefert sie eine positive Fehlernummer zurück, um den Fehler anzuzeigen.
FEHLER
- EINVAL
- Der Mutex ist entweder nicht robust oder nicht in einem inkonsistenten Zustand.
STANDARDS
POSIX.1-2008.
GESCHICHTE
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.
ANMERKUNGEN
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.
BEISPIELE
SIEHE AUCH
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 |