Perl 5 version 32.0 documentation

IPC::Msg

NAME

IPC::Msg - SysV Msg IPC object class

SYNOPSIS

  1. use IPC::SysV qw(IPC_PRIVATE S_IRUSR S_IWUSR);
  2. use IPC::Msg;
  3. $msg = IPC::Msg->new(IPC_PRIVATE, S_IRUSR | S_IWUSR);
  4. $msg->snd($msgtype, $msgdata);
  5. $msg->rcv($buf, 256);
  6. $ds = $msg->stat;
  7. $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(2). The BUF becomes tainted.

  • remove

    Remove and destroy the message queue from the system.

  • set ( STAT )
  • set ( NAME => VALUE [, NAME => VALUE ...] )

    set will set the following values of the stat structure associated with the message queue.

    1. uid
    2. gid
    3. mode (oly the permission bits)
    4. qbytes

    set accepts either a stat object, as returned by the stat method, or a list of name-value pairs.

  • snd ( TYPE, MSG [, FLAGS ] )

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

  • stat

    Returns an object of type IPC::Msg::stat which is a sub-class of Class::Struct . It provides the following fields. For a description of these fields see you system documentation.

    1. uid
    2. gid
    3. cuid
    4. cgid
    5. mode
    6. qnum
    7. qbytes
    8. lspid
    9. lrpid
    10. stime
    11. rtime
    12. 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-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.