start page | rating of books | rating of authors | reviews | copyrights

Programming Perl

Programming PerlSearch this book
Previous: 3.2.137 semget Chapter 3
Functions
Next: 3.2.139 send
 

3.2.138 semop

semop 

KEY

, 

OPSTRING

This function calls the System V IPC system call semop (2) to perform semaphore operations such as signaling and waiting. OPSTRING must be a packed array of semop structures. You can make each semop structure by saying pack("s*", $semnum, $semop, $semflag) . The number of semaphore operations is implied by the length of OPSTRING . The function returns true if successful, or false if there is an error. On error, it puts the error code into $! . Before calling, you should say:

require "ipc.ph"; require "sem.ph";

The following code waits on semaphore $semnum of semaphore id $semid :

$semop = pack "s*", $semnum, -1, 0; die "Semaphore trouble: $!\n" unless semop $semid, $semop;

To signal the semaphore, simply replace -1 with 1 .

This function is available only on machines supporting System V IPC.


Previous: 3.2.137 semget Programming Perl Next: 3.2.139 send
3.2.137 semget Book Index 3.2.139 send