This manual page is for Mac OS X version 10.6

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • For more information about the manual page format, see the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



IPC::SharedMem(3pm)                   Perl Programmers Reference Guide                   IPC::SharedMem(3pm)



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 associated with "KEY". A new segment is created if

           *   "KEY" is equal to "IPC_PRIVATE"

           *   "KEY" does not already have a shared memory segment associated with it, and "FLAGS &
               IPC_CREAT" is true.

           On creation of a new shared memory segment "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 shared memory identifier.

       read ( POS, SIZE )
           Read "SIZE" bytes from the shared memory segment at "POS". Returns the string read, or "undef" if
           there was an error. The return value becomes tainted. See shmread.

       write ( STRING, POS, SIZE )
           Write "SIZE" bytes to the shared memory segment at "POS". 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::stat" which is a sub-class of "Class::Struct". It pro-vides provides
           vides 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

       attach ( [FLAG] )
           Permanently attach to the shared memory segment. When a "IPC::SharedMem" object 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 suc-cessful, successful,
           cessful, 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')". Returns "undef" if the shared memory has not been attached.

SEE ALSO
       IPC::SysV, Class::Struct

AUTHORS
       Marcus Holland-Moritz <[email protected]>

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.



perl v5.8.9                                      2001-09-21                              IPC::SharedMem(3pm)

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation to the Perl project. (See perlbug(1) for submission instructions.)
Bug reports
Report bugs in the functionality of the described tool or API to Apple through Bug Reporter and to the Perl project using perlbug(1).
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.