DESCRIPTION

METHODS

Create a new semaphore set associated with 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.

getall

Returns the values of the semaphore set as an array.

getncnt ( SEM )

Returns the number of processes waiting for the semaphore SEM
to
become greater than its current value

getpid ( SEM )

Returns the process id of the last process that performed an operation
on the semaphore SEM
.

getval ( SEM )

Returns the current value of the semaphore SEM
.

getzcnt ( SEM )

Returns the number of processes waiting for the semaphore SEM
to
become zero.

id

Returns the system identifier for the semaphore set.

op ( OPLIST )

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

);

remove

Remove and destroy the semaphore set from the system.

set ( STAT )

set ( NAME => VALUE [, NAME => VALUE ...] )

set
will set the following values of the stat structure associated
with the semaphore set.

uid

gid

mode(onlythepermissionbits)

set
accepts either a stat object, as returned by the stat method,
or a list of name-value pairs.

setall ( VALUES )

Sets all values in the semaphore set to those given on the VALUES
list.
VALUES
must contain the correct number of values.

setval ( N , VALUE )

Set the N
th value in the semaphore set to VALUE

stat

Returns an object of type 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.