lock_read oder lock_try_read Kernel-Service

Zweck

Sperrt eine komplexe Sperre im Modus für gemeinsam genutztes Lesen.

Syntax

#include <sys/lock_def.h>
void lock_read ( lock_addr)
complex_lock_t lock_addr;
boolean_t lock_try_read ( lock_addr)
complex_lock_t lock_addr;

Parameter

Element Beschreibung
Sperrenadresse Gibt die Adresse des zu sperrenden Sperrworts an.

Beschreibung

Der 'lock_read' -Kernel-Service sperrt die angegebene komplexe Sperre im Modus für gemeinsames Lesen. Sie wird blockiert, wenn die Sperre im Modus für exklusives Schreiben gesperrt ist. Die Sperre muss zuvor mit dem Sperreninitialisierung -Kernelservice initialisiert worden sein. Der 'lock_read' -Kernel-Service hat keine Rückgabewerte.

Der lock_try_read (Lesevorgang sperren) -Kernel-Service versucht, die angegebene komplexe Sperre im Modus für gemeinsames Lesen zu sperren. Er gibt sofort zurück, wenn die Sperre im Modus für exklusives Schreiben gesperrt ist. Andernfalls wird die Sperre im Modus für gemeinsames Lesen gesperrt. Die Sperre muss zuvor mit dem Sperreninitialisierung -Kernelservice initialisiert worden sein.

Ausführungsumgebung

Die Kernel-Services 'lock_read' und lock_try_read (Lesevorgang sperren) können nur über Prozessumgebung aufgerufen werden.

Rückgabewerte

Der Kernel-Service lock_try_read (Lesevorgang sperren) hat die folgenden Rückgabewerte:

Element Beschreibung
true Gibt an, dass die Sperre erfolgreich im Modus für gemeinsam genutztes Lesen angefordert wurde.
FALSCH Gibt an, dass die Sperre nicht angefordert wurde.