semop
- semop KEY,OPSTRING
Calls the System V IPC function semop to perform semaphore operations such as signalling and waiting. OPSTRING must be a packed array of semop structures. Each semop structure can be generated with
pack("s!3", $semnum, $semop, $semflag)
. The length of OPSTRING implies the number of semaphore operations. Returns true if successful, or false if there is an error. As an example, the following code waits on semaphore $semnum of semaphore id $semid:$semop = pack("s!3", $semnum, -1, 0); die "Semaphore trouble: $!\n" unless semop($semid, $semop);
To signal the semaphore, replace
-1
with1
. See also "SysV IPC" in perlipc,IPC::SysV
, andIPC::SysV::Semaphore
documentation.