IPC::Msg(3p) | Perl Programmers Reference Guide | IPC::Msg(3p)

# NAME

IPC::Msg - SysV Msg IPC object class

# SYNOPSIS

        use IPC::SysV qw(IPC_PRIVATE S_IRUSR S_IWUSR);
        use IPC::Msg;
        $msg = IPC::Msg->new(IPC_PRIVATE, S_IRUSR | S_IWUSR);
        $msg->snd($msgtype, $msgdata);
        $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(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.

          uid
          gid
          mode (oly the permission bits)
          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.

          uid
          gid
          cuid
          cgid
          mode
          qnum
          qbytes
          lspid
          lrpid
          stime
          rtime
          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.

2023-02-15 | perl v5.40.1