Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

perlman:IPC::Semaphore

by root (Monk)
on Dec 23, 1999 at 00:52 UTC ( [id://1227]=perlfunc: print w/replies, xml ) Need Help??

IPC::Semaphore

See the current Perl documentation for IPC::Semaphore.

Here is our local, out-dated (pre-5.6) version:


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-&g
    


METHODS

new ( KEY , NSEMS , FLAGS )

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 <EM>FLAGS</EM> & IPC_CREAT is true.

On creation of a new semaphore set FLAGS is used to set the permissions.

getall

Returns the values of the semaphore set as an array.

getncnt ( SEM )

Returns the number of processed waiting for the semaphore SEM to become greater than it's 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 processed 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 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 (oly the permission bits)

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 Nth 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 you system documentation.

    uid
    gid
    cuid
    cgid
    mode
    ctime
    otime
    nsems


SEE ALSO

SysV Struct semget semctl semop


AUTHOR

Graham Barr <gbarr@pobox.com>


COPYRIGHT

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.


Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (6)
As of 2024-03-29 10:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found