Manual

- Overview
- Tutorials
- FAQs
- History / Changes
- License

Reference

- Language
- Functions
- Operators
- Special Variables
- Pragmas
- Utilities
- Internals
- Platform Specific

Modules

- A • B • C • D • E
- F • G • H • I • L
- M • N • O • P • S
- T • U • X

News / Blogs

- Perl Buzz
- Perl Iron Man
- Perlsphere
- Planet Perl
- TPF news
- Use Perl

See also

- CPAN
- Perl.org
- Perl.com
- Perl 5 Wiki
- Perl Jobs
- Perl Mongers
- Perl Monks

Contact

- Site designed and maintained by Jon Allen (JJ)
- http://perl.jonallen.info

- View the project page and FAQs

# IPC::SharedMem

Perl 5 version 10.1 documentation
Go to top • Show page index • Download PDF

# IPC::SharedMem

- NAME
- SYNOPSIS
- DESCRIPTION
- METHODS
- SEE ALSO
- AUTHORS
- COPYRIGHT

# 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 `<i>FLAGS</i> & 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 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

- 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 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')`. Returns `undef` if the shared memory has not been attached.

# SEE ALSO

IPC::SysV, Class::Struct

# AUTHORS

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.

Page index

- NAME
- SYNOPSIS
- DESCRIPTION
- METHODS
- SEE ALSO
- AUTHORS
- COPYRIGHT

Recently read

Tools

- Preferences