IPC::Semaphore - SysV Semaphore IPC object class
use IPC::SysV qw(IPC_PRIVATE S_IRWXU IPC_CREAT); use IPC::Semaphore; $sem = new IPC::Semaphore(IPC_PRIVATE, 10, S_IRWXU | IPC_CREAT); $sem->setall( (0) x 10); @sem = $sem->getall; $ncnt = $sem->getncnt; $zcnt = $sem->getzcnt; $ds = $sem->stat; $sem->remove;
NSEMSis the number of semaphores in the set. A new set is created if
KEY is equal to
KEYdoes not already have a semaphore identifier associated with it, and
<EM>FLAGS</EM> & IPC_CREATis true.
On creation of a new semaphore set
FLAGS is used to set the permissions.
SEMto become greater than it's current value
SEMto become zero.
OPLISTis a list of operations to pass to semop.
OPLISTis a concatenation of smaller lists, each which has three values. The first is the semaphore number, the second is the operation and the last is a flags value. See the semop manpage for more details. For example
$sem->op( 0, -1, IPC_NOWAIT, 1, 1, IPC_NOWAIT );
setwill set the following values of the stat structure associated with the semaphore set.
uid gid mode (oly the permission bits)
set accepts either a stat object, as returned by the stat method, or a list of name-value pairs.
VALUESmust contain the correct number of values.
Nth value in the semaphore set to
IPC::Semaphore::statwhich is a sub-class of
Class::Struct. It provides the following fields. For a description of these fields see you system documentation.
uid gid cuid cgid mode ctime otime nsems
SysV Struct the semget manpage the semctl manpage the semop manpage
Graham Barr <email@example.com>
Copyright (c) 1997 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
If rather than formatting bugs, you encounter substantive content errors in these documents, such as mistakes in the explanations or code, please use the perlbug utility included with the Perl distribution.