sem_get
Fordert Zugriff auf eine Semaphor-ID an
&reftitle.description;
SysvSemaphorefalsesem_get
intkey
intmax_acquire1
intpermissions0666
boolauto_release&true;
sem_get liefert eine ID, die für den Zugriff auf den
System-V-Semaphor mit dem gegebenen key benutzt
werden kann.
Weitere Aufrufe von sem_get für den gleichen Key
liefern unterschiedliche Semaphor-IDs, diese greifen aber auf den gleichen
darunterliegenden Semaphor zu.
Ist key gleich 0 wird ein neuer
privater Semaphor für jeden Aufruf von sem_get
erzeugt.
&reftitle.parameters;
key
max_acquire
Die Anzahl der Prozesse, die gleichzeitig Zugriff auf den Semaphor
erhalten können, wird durch den Parameter
max_acquire festgelegt
permissions
Die Zugriffsrechte für den Semaphore. Der Wert wird nur gesetzt, wenn
der aktuelle Prozess der einzige ist der in diesem Augenblick mit dem
Semaphor verknüpft ist.
auto_release
Legt fest, ob der Semaphor am Skriptende automatisch freigegeben werden
soll.
&reftitle.returnvalues;
Gibt einen positiven Semaphor-Identifier zurück oder &false; bei Fehlern.
&reftitle.changelog;
&Version;
&Description;
8.0.0
Bei Erfolg gibt diese Funktion nun eine
SysvSemaphore-Instanz zurück; vorher wurde
eine resource zurückgegeben.
8.0.0
Der Typ von auto_release wurde von
int auf bool geändert.
&reftitle.notes;
Wird sem_get verwendet, um auf einen Semaphor
zuzugreifen, der außerhalb von PHP erzeugt wurde, ist zu beachten, dass
der Semaphor als ein Satz von 3 Semaphoren erzeugt wurde (zum Beispiel
durch Angabe von 3 für den nsems-Parameter beim Aufruf
der C-Funktion semget()); andernfalls wird PHP nicht in
der Lage sein, auf den Semaphor zuzugreifen.
&reftitle.seealso;
sem_acquire
sem_release
ftok