IPC::SharedMem
NAME
IPC::SharedMem - SysV Shared Memory IPC object class
SYNOPSIS
use IPC::SysV qw(IPC_PRIVATE S_IRUSR S_IWUSR);
use IPC::SharedMem;
$shm = IPC::SharedMem->new(IPC_PRIVATE, 8, S_IRWXU);
$shm->write(pack("S", 4711), 2, 2);
$data = $shm->read(0, 2);
$ds = $shm->stat;
$shm->remove;
DESCRIPTION
A class providing an object based interface to SysV IPC shared memory.
METHODS
-
new ( KEY , SIZE , FLAGS )
Creates a new shared memory segment of
SIZEbytes size associated withKEY. A new segment is created if-
KEYis equal toIPC_PRIVATE -
KEYdoes not already have a shared memory segment associated with it, andFLAGS & IPC_CREATis true.
On creation of a new shared memory segment
FLAGSis 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 shared memory identifier.
-
read ( POS, SIZE )
Read
SIZEbytes from the shared memory segment atPOS. Returns the string read, orundefif there was an error. The return value becomes tainted. See shmread. -
write ( STRING, POS, SIZE )
Write
SIZEbytes to the shared memory segment atPOS. Returns true if successful, or false if there is an error. See shmwrite. -
remove
Remove the shared memory segment from the system or mark it as removed as long as any processes are still attached to it.
-
is_removed
Returns true if the shared memory segment has been removed or marked for removal.
-
stat
Returns an object of type
IPC::SharedMem::statwhich is a sub-class ofClass::Struct. It provides the following fields. For a description of these fields see you system documentation.uid gid cuid cgid mode segsz lpid cpid nattch atime dtime ctime
-
attach ( [FLAG] )
Permanently attach to the shared memory segment. When a
IPC::SharedMemobject is attached, it will use memread and memwrite instead of shmread and shmwrite for accessing the shared memory segment. Returns true if successful, or false on error. See shmat. -
detach
Detach from the shared memory segment that previously has been attached to. Returns true if successful, or false on error. See shmdt.
-
addr
Returns the address of the shared memory that has been attached to in a format suitable for use with
pack('P'). Returnsundefif the shared memory has not been attached.
SEE ALSO
AUTHORS
Marcus Holland-Moritz <[email protected]>
COPYRIGHT
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.
© 1993–2016 Larry Wall and others
Licensed under the GNU General Public License version 1 or later, or the Artistic License.
The Perl logo is a trademark of the Perl Foundation.
https://perldoc.perl.org/5.20.2/IPC/SharedMem.html