IPC::Semaphore - SysV Semaphore IPC object class |
IPC::Semaphore - SysV Semaphore IPC object class
use IPC::SysV qw(IPC_PRIVATE S_IRUSR S_IWUSR IPC_CREAT); use IPC::Semaphore;
$sem = IPC::Semaphore->new(IPC_PRIVATE, 10, S_IRUSR | S_IWUSR | IPC_CREAT);
$sem->setall( (0) x 10);
@sem = $sem->getall;
$ncnt = $sem->getncnt;
$zcnt = $sem->getzcnt;
$ds = $sem->stat;
$sem->remove;
A class providing an object based interface to SysV IPC semaphores.
KEY
. NSEMS
is the number
of semaphores in the set. A new set is created if
KEY
is equal to IPC_PRIVATE
KEY
does not already have a semaphore identifier
associated with it, and FLAGS & IPC_CREAT
is true.
On creation of a new semaphore set FLAGS
is used to set the
permissions. Be careful not to set any flags that the Sys V
IPC implementation does not allow: in some systems setting
execute bits makes the operations fail.
SEM
to
become greater than its current value
SEM
.
SEM
.
SEM
to
become zero.
OPLIST
is a list of operations to pass to semop
. OPLIST
is
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 semop(2) for more details. For example
$sem->op( 0, -1, IPC_NOWAIT, 1, 1, IPC_NOWAIT );
set
will set the following values of the stat
structure associated
with the semaphore set.
uid gid mode (only the permission bits)
set
accepts either a stat object, as returned by the stat
method,
or a list of name-value pairs.
VALUES
list.
VALUES
must contain the correct number of values.
N
th value in the semaphore set to VALUE
IPC::Semaphore::stat
which is a sub-class of
Class::Struct
. It provides the following fields. For a description
of these fields see your system documentation.
uid gid cuid cgid mode ctime otime nsems
the IPC::SysV manpage, the Class::Struct manpage, semget(2), semctl(2), semop(2)
Graham Barr <gbarr@pobox.com>, Marcus Holland-Moritz <mhx@cpan.org>
Version 2.x, Copyright (C) 2007-2013, Marcus Holland-Moritz.
Version 1.x, Copyright (c) 1997, Graham Barr.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
IPC::Semaphore - SysV Semaphore IPC object class |