PHPWales 2020 - June 3rd to June 4th

sem_remove

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

sem_removeセマフォを削除する

説明

sem_remove ( resource $sem_identifier ) : bool

sem_remove() は、指定したセマフォを削除します。

セマフォを削除した後、そのセマフォにはもうアクセスできません。

パラメータ

sem_identifier

sem_get() が返すセマフォリソース ID。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

参考

add a note add a note

User Contributed Notes 1 note

up
0
donotcallme at iwillcallyou dot com
6 years ago
sem_remove() shouldn't be part of a normal cleanup/teardown and should be called very rarely due to bugs in the implementation.

It doesn't seem to hurt to leave semaphores lying around and is likely to be more performance-friendly to do so.  If you are concerned about having too many semaphores floating around for an application (e.g. a file cache that uses ftok()), you can use some modulus arithmetic and simple addition to create a limited range of values for your semaphores off in the middle of nowhere.  For example, ftok() % 101 + 0xBADBEEF.  Be sure to replace 0xBADBEEF with your own random value.  The example limits the range to 101 semaphores.  101 is a prime number - so if you want more or less, be sure to replace it with a prime number since primes theoretically help distribute values more evenly.
To Top