NAME

IPC::SharedMem - SysV Shared Memory IPC object class

SYNOPSIS

use IPC::SysV qw(IPC_PRIVATE S_IRUSR S_IWUSR);
use IPC::SharedMem;

$msg = new IPC::Msg(IPC_PRIVATE, S_IRUSR | S_IWUSR);

$msg->snd(pack("l! a*",$msgtype,$msg));

$msg->rcv($buf,256);

$ds = $msg->stat;

$msg->remove;

DESCRIPTION

A class providing an object based interface to SysV IPC message queues.

METHODS

new ( KEY , FLAGS )

Creates a new message queue associated with KEY. A new queue is created if

  • KEY is equal to IPC_PRIVATE

  • KEY does not already have a message queue associated with it, and FLAGS & IPC_CREAT is true.

On creation of a new message queue 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.

id

Returns the system message queue identifier.

rcv ( BUF, LEN [, TYPE [, FLAGS ]] )

Read a message from the queue. Returns the type of the message read. See msgrcv. The BUF becomes tainted.

remove

Remove the shared memory from the system or mark it as removed.

snd ( TYPE, MSG [, FLAGS ] )

Place a message on the queue with the data from MSG and with type TYPE. See msgsnd.

stat

Returns an object of type IPC::SharedMem::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
segsz
lpid
cpid
nattach
atime
dtime
ctime

SEE ALSO

IPC::SysV Class::Struct

AUTHORS

Graham Barr <gbarr@pobox.com> Marcus Holland-Moritz <mhx@cpan.org>

COPYRIGHT

Version 2.x, Copyright (C) 2007, 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.