2004-11-03 13:51:07 +00:00
|
|
|
.\" Copyright 1993 Giorgio Ciucci <giorgio@crcc.it>
|
|
|
|
.\"
|
|
|
|
.\" Permission is granted to make and distribute verbatim copies of this
|
|
|
|
.\" manual provided the copyright notice and this permission notice are
|
|
|
|
.\" preserved on all copies.
|
|
|
|
.\"
|
|
|
|
.\" Permission is granted to copy and distribute modified versions of this
|
|
|
|
.\" manual under the conditions for verbatim copying, provided that the
|
|
|
|
.\" entire resulting derived work is distributed under the terms of a
|
|
|
|
.\" permission notice identical to this one.
|
2007-04-12 22:42:49 +00:00
|
|
|
.\"
|
2004-11-03 13:51:07 +00:00
|
|
|
.\" Since the Linux kernel and libraries are constantly changing, this
|
|
|
|
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
|
|
.\" responsibility for errors or omissions, or for damages resulting from
|
|
|
|
.\" the use of the information contained herein. The author(s) may not
|
|
|
|
.\" have taken the same level of care in the production of this manual,
|
|
|
|
.\" which is licensed free of charge, as they might when working
|
|
|
|
.\" professionally.
|
2007-04-12 22:42:49 +00:00
|
|
|
.\"
|
2004-11-03 13:51:07 +00:00
|
|
|
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
|
|
.\" the source, must acknowledge the copyright and authors of this work.
|
|
|
|
.\"
|
|
|
|
.\" Modified Tue Oct 22 16:40:11 1996 by Eric S. Raymond <esr@thyrsus.com>
|
|
|
|
.\" Modified Mon Jul 10 21:09:59 2000 by aeb
|
2007-09-20 06:52:22 +00:00
|
|
|
.\" Modified 1 Jun 2002, Michael Kerrisk <mtk.manpages@gmail.com>
|
2004-11-03 13:51:07 +00:00
|
|
|
.\" Language clean-ups.
|
|
|
|
.\" Enhanced and corrected information on msg_qbytes, MSGMNB and MSGMAX
|
2007-06-08 09:56:56 +00:00
|
|
|
.\" Added note on restart behavior of msgsnd() and msgrcv()
|
2007-04-12 22:42:49 +00:00
|
|
|
.\" Formatting clean-ups (argument and field names marked as .I
|
2004-11-03 13:51:07 +00:00
|
|
|
.\" instead of .B)
|
2007-09-20 06:52:22 +00:00
|
|
|
.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
|
2004-11-03 13:51:07 +00:00
|
|
|
.\" Added notes on capability requirements
|
2007-09-20 06:52:22 +00:00
|
|
|
.\" Modified, 11 Nov 2004, Michael Kerrisk <mtk.manpages@gmail.com>
|
2004-11-10 17:24:20 +00:00
|
|
|
.\" Language and formatting clean-ups
|
|
|
|
.\" Added notes on /proc files
|
2004-11-03 13:51:07 +00:00
|
|
|
.\"
|
2007-05-30 05:36:26 +00:00
|
|
|
.TH MSGOP 2 2006-02-02 "Linux" "Linux Programmer's Manual"
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH NAME
|
2007-05-11 23:07:02 +00:00
|
|
|
msgop, msgrcv, msgsnd \- message operations
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH SYNOPSIS
|
|
|
|
.nf
|
2007-04-03 14:04:54 +00:00
|
|
|
.B #include <sys/types.h>
|
|
|
|
.B #include <sys/ipc.h>
|
|
|
|
.B #include <sys/msg.h>
|
2004-11-03 13:51:07 +00:00
|
|
|
.sp
|
2007-04-03 14:04:54 +00:00
|
|
|
.BI "int msgsnd(int " msqid ", const void *" msgp ", size_t " msgsz \
|
|
|
|
", int " msgflg );
|
2004-11-03 13:51:07 +00:00
|
|
|
.sp
|
2007-04-03 14:04:54 +00:00
|
|
|
.BI "ssize_t msgrcv(int " msqid ", void *" msgp ", size_t " msgsz \
|
|
|
|
", long " msgtyp ,
|
|
|
|
.BI " int " msgflg );
|
|
|
|
.fi
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH DESCRIPTION
|
2004-11-10 17:24:20 +00:00
|
|
|
The
|
|
|
|
.BR msgsnd ()
|
|
|
|
and
|
|
|
|
.BR msgrcv ()
|
|
|
|
system calls are used, respectively, to send messages to,
|
|
|
|
and receive messages from, a message queue.
|
|
|
|
The calling process must have write permission on the message queue
|
|
|
|
in order to send a message, and read permission to receive a message.
|
|
|
|
.PP
|
|
|
|
The
|
|
|
|
.I msgp
|
2007-04-12 22:42:49 +00:00
|
|
|
argument is a pointer to caller-defined structure
|
2004-11-03 13:51:07 +00:00
|
|
|
of the following general form:
|
2007-12-19 05:53:30 +00:00
|
|
|
.in +4n
|
2007-04-05 13:29:41 +00:00
|
|
|
.nf
|
|
|
|
|
|
|
|
struct msgbuf {
|
|
|
|
long mtype; /* message type, must be > 0 */
|
|
|
|
char mtext[1]; /* message data */
|
|
|
|
};
|
|
|
|
.fi
|
2007-12-19 05:53:30 +00:00
|
|
|
.in
|
2007-04-05 13:29:41 +00:00
|
|
|
.PP
|
2004-11-03 13:51:07 +00:00
|
|
|
The
|
|
|
|
.I mtext
|
|
|
|
field is an array (or other structure) whose size is specified by
|
|
|
|
.IR msgsz ,
|
|
|
|
a non-negative integer value.
|
|
|
|
Messages of zero length (i.e., no
|
|
|
|
.I mtext
|
|
|
|
field) are permitted.
|
|
|
|
The
|
|
|
|
.I mtype
|
2004-11-10 17:24:20 +00:00
|
|
|
field must have a strictly positive integer value.
|
|
|
|
This value can be
|
2004-11-03 13:51:07 +00:00
|
|
|
used by the receiving process for message selection
|
2004-11-10 17:24:20 +00:00
|
|
|
(see the description of
|
|
|
|
.BR msgrcv ()
|
|
|
|
below).
|
2004-11-03 13:51:07 +00:00
|
|
|
.PP
|
|
|
|
The
|
2004-11-10 17:24:20 +00:00
|
|
|
.BR msgsnd ()
|
2004-11-03 13:51:07 +00:00
|
|
|
system call appends a copy of the message pointed to by
|
|
|
|
.I msgp
|
|
|
|
to the message queue whose identifier is specified
|
|
|
|
by
|
|
|
|
.IR msqid .
|
|
|
|
.PP
|
2004-11-10 17:24:20 +00:00
|
|
|
If sufficient space is available in the queue,
|
|
|
|
.BR msgsnd ()
|
2004-11-03 13:51:07 +00:00
|
|
|
succeeds immediately.
|
|
|
|
(The queue capacity is defined by the
|
|
|
|
.I msg_bytes
|
|
|
|
field in the associated data structure for the message queue.
|
2007-06-08 09:56:56 +00:00
|
|
|
During queue creation this field is initialized to
|
2004-11-03 13:51:07 +00:00
|
|
|
.B MSGMNB
|
|
|
|
bytes, but this limit can be modified using
|
2007-05-12 00:47:37 +00:00
|
|
|
.BR msgctl (2).)
|
2004-11-10 17:24:20 +00:00
|
|
|
If insufficient space is available in the queue, then the default
|
2007-06-08 09:56:56 +00:00
|
|
|
behavior of
|
2004-11-10 17:24:20 +00:00
|
|
|
.BR msgsnd ()
|
2004-11-03 13:51:07 +00:00
|
|
|
is to block until space becomes available.
|
|
|
|
If
|
|
|
|
.B IPC_NOWAIT
|
2004-11-10 17:24:20 +00:00
|
|
|
is specified in
|
|
|
|
.IR msgflg ,
|
2004-11-03 13:51:07 +00:00
|
|
|
then the call instead fails with the error
|
|
|
|
.BR EAGAIN .
|
|
|
|
|
2007-04-12 22:42:49 +00:00
|
|
|
A blocked
|
2004-11-10 17:24:20 +00:00
|
|
|
.BR msgsnd ()
|
2007-04-12 22:42:49 +00:00
|
|
|
call may also fail if the queue is removed
|
2004-11-03 13:51:07 +00:00
|
|
|
(in which case the system call fails with
|
|
|
|
.I errno
|
|
|
|
set to
|
|
|
|
.BR EIDRM ),
|
|
|
|
or a signal is caught (in which case the system call fails
|
|
|
|
with
|
|
|
|
.I errno
|
|
|
|
set to
|
|
|
|
.BR EINTR ).
|
|
|
|
.RB ( msgsnd " and " msgrcv
|
2007-04-12 22:42:49 +00:00
|
|
|
are never automatically restarted after being interrupted by a
|
2004-11-10 17:24:20 +00:00
|
|
|
signal handler, regardless of the setting of the
|
2004-11-03 13:51:07 +00:00
|
|
|
.B SA_RESTART
|
|
|
|
flag when establishing a signal handler.)
|
|
|
|
.PP
|
|
|
|
Upon successful completion the message queue data structure is updated
|
|
|
|
as follows:
|
|
|
|
.IP
|
|
|
|
.I msg_lspid
|
|
|
|
is set to the process ID of the calling process.
|
|
|
|
.IP
|
|
|
|
.I msg_qnum
|
|
|
|
is incremented by 1.
|
|
|
|
.IP
|
|
|
|
.I msg_stime
|
|
|
|
is set to the current time.
|
|
|
|
.PP
|
|
|
|
The system call
|
2004-11-10 17:24:20 +00:00
|
|
|
.BR msgrcv ()
|
2006-02-02 10:47:23 +00:00
|
|
|
removes a message from the queue specified by
|
2004-11-03 13:51:07 +00:00
|
|
|
.I msqid
|
2006-02-02 10:47:23 +00:00
|
|
|
and places it in the buffer
|
2008-04-18 15:52:17 +00:00
|
|
|
pointed to by
|
2006-02-02 10:47:23 +00:00
|
|
|
.IR msgp .
|
2004-11-03 13:51:07 +00:00
|
|
|
.PP
|
|
|
|
The argument
|
|
|
|
.I msgsz
|
|
|
|
specifies the maximum size in bytes for the member
|
|
|
|
.I mtext
|
|
|
|
of the structure pointed to by the
|
|
|
|
.I msgp
|
|
|
|
argument.
|
|
|
|
If the message text has length greater than
|
|
|
|
.IR msgsz ,
|
2007-06-08 09:56:56 +00:00
|
|
|
then the behavior depends on whether
|
2007-09-20 16:26:31 +00:00
|
|
|
.B MSG_NOERROR
|
2007-04-12 22:42:49 +00:00
|
|
|
is specified in
|
2004-11-10 17:24:20 +00:00
|
|
|
.IR msgflg .
|
|
|
|
If
|
2007-09-20 16:26:31 +00:00
|
|
|
.B MSG_NOERROR
|
2004-11-10 17:24:20 +00:00
|
|
|
is specified, then
|
2004-11-03 13:51:07 +00:00
|
|
|
the message text will be truncated (and the truncated part will be
|
2007-04-12 22:42:49 +00:00
|
|
|
lost); if
|
2007-09-20 16:26:31 +00:00
|
|
|
.B MSG_NOERROR
|
2004-11-10 17:24:20 +00:00
|
|
|
is not specified, then
|
|
|
|
the message isn't removed from the queue and
|
|
|
|
the system call fails returning \-1 with
|
2004-11-03 13:51:07 +00:00
|
|
|
.I errno
|
|
|
|
set to
|
|
|
|
.BR E2BIG .
|
|
|
|
.PP
|
|
|
|
The argument
|
|
|
|
.I msgtyp
|
|
|
|
specifies the type of message requested as follows:
|
|
|
|
.IP
|
|
|
|
If
|
|
|
|
.I msgtyp
|
2004-11-10 17:24:20 +00:00
|
|
|
is 0,
|
2004-11-03 13:51:07 +00:00
|
|
|
then the first message in the queue is read.
|
|
|
|
.IP
|
|
|
|
If
|
|
|
|
.I msgtyp
|
2004-11-10 17:24:20 +00:00
|
|
|
is greater than 0,
|
|
|
|
then the first message in the queue of type
|
2004-11-03 13:51:07 +00:00
|
|
|
.I msgtyp
|
|
|
|
is read, unless
|
|
|
|
.B MSG_EXCEPT
|
2004-11-10 17:24:20 +00:00
|
|
|
was specified in
|
2004-11-03 13:51:07 +00:00
|
|
|
.IR msgflg ,
|
|
|
|
in which case
|
2004-11-10 17:24:20 +00:00
|
|
|
the first message in the queue of type not equal to
|
2004-11-03 13:51:07 +00:00
|
|
|
.I msgtyp
|
|
|
|
will be read.
|
|
|
|
.IP
|
|
|
|
If
|
|
|
|
.I msgtyp
|
2004-11-10 17:24:20 +00:00
|
|
|
is less than 0,
|
|
|
|
then the first message in the queue with the lowest type less than or
|
2004-11-03 13:51:07 +00:00
|
|
|
equal to the absolute value of
|
|
|
|
.I msgtyp
|
|
|
|
will be read.
|
|
|
|
.PP
|
|
|
|
The
|
|
|
|
.I msgflg
|
2004-11-10 17:24:20 +00:00
|
|
|
argument is a bit mask constructed by ORing together zero or more
|
|
|
|
of the following flags:
|
|
|
|
.TP
|
2004-11-03 13:51:07 +00:00
|
|
|
.B IPC_NOWAIT
|
2006-02-02 10:47:23 +00:00
|
|
|
Return immediately if no message of the requested type is in the queue.
|
2004-11-10 17:24:20 +00:00
|
|
|
The system call fails with
|
|
|
|
.I errno
|
|
|
|
set to
|
2004-11-03 13:51:07 +00:00
|
|
|
.BR ENOMSG .
|
2004-11-10 17:24:20 +00:00
|
|
|
.TP
|
2004-11-03 13:51:07 +00:00
|
|
|
.B MSG_EXCEPT
|
|
|
|
Used with
|
|
|
|
.I msgtyp
|
2004-11-10 17:24:20 +00:00
|
|
|
greater than 0
|
|
|
|
to read the first message in the queue with message type that differs
|
2004-11-03 13:51:07 +00:00
|
|
|
from
|
|
|
|
.IR msgtyp .
|
2004-11-10 17:24:20 +00:00
|
|
|
.TP
|
2004-11-03 13:51:07 +00:00
|
|
|
.B MSG_NOERROR
|
|
|
|
To truncate the message text if longer than
|
|
|
|
.I msgsz
|
|
|
|
bytes.
|
|
|
|
.PP
|
|
|
|
If no message of the requested type is available and
|
|
|
|
.B IPC_NOWAIT
|
2004-11-10 17:24:20 +00:00
|
|
|
isn't specified in
|
2004-11-03 13:51:07 +00:00
|
|
|
.IR msgflg ,
|
|
|
|
the calling process is blocked until one of the following conditions occurs:
|
|
|
|
.IP
|
2004-11-10 17:24:20 +00:00
|
|
|
A message of the desired type is placed in the queue.
|
2004-11-03 13:51:07 +00:00
|
|
|
.IP
|
|
|
|
The message queue is removed from the system.
|
|
|
|
In this case the system call fails with
|
|
|
|
.I errno
|
|
|
|
set to
|
|
|
|
.BR EIDRM .
|
|
|
|
.IP
|
|
|
|
The calling process catches a signal.
|
|
|
|
In this case the system call fails with
|
|
|
|
.I errno
|
|
|
|
set to
|
|
|
|
.BR EINTR .
|
|
|
|
.PP
|
|
|
|
Upon successful completion the message queue data structure is updated
|
|
|
|
as follows:
|
|
|
|
.IP
|
|
|
|
.I msg_lrpid
|
|
|
|
is set to the process ID of the calling process.
|
|
|
|
.IP
|
|
|
|
.I msg_qnum
|
|
|
|
is decremented by 1.
|
|
|
|
.IP
|
|
|
|
.I msg_rtime
|
|
|
|
is set to the current time.
|
|
|
|
.SH "RETURN VALUE"
|
2004-11-10 17:24:20 +00:00
|
|
|
On failure both functions return \-1
|
2004-11-03 13:51:07 +00:00
|
|
|
with
|
|
|
|
.I errno
|
|
|
|
indicating the error,
|
|
|
|
otherwise
|
2004-11-10 17:24:20 +00:00
|
|
|
.BR msgsnd ()
|
|
|
|
returns 0
|
2004-11-03 13:51:07 +00:00
|
|
|
and
|
2005-04-18 13:35:29 +00:00
|
|
|
.BR msgrcv ()
|
2004-11-03 13:51:07 +00:00
|
|
|
returns the number of bytes actually copied into the
|
|
|
|
.I mtext
|
|
|
|
array.
|
|
|
|
.SH ERRORS
|
|
|
|
When
|
2004-11-10 17:24:20 +00:00
|
|
|
.BR msgsnd ()
|
2007-04-12 22:42:49 +00:00
|
|
|
fails,
|
2004-11-03 13:51:07 +00:00
|
|
|
.I errno
|
|
|
|
will be set to one among the following values:
|
2004-11-10 17:24:20 +00:00
|
|
|
.TP 11
|
2004-11-03 13:51:07 +00:00
|
|
|
.B EACCES
|
|
|
|
The calling process does not have write permission on the message queue,
|
|
|
|
and does not have the
|
2007-09-20 16:26:31 +00:00
|
|
|
.B CAP_IPC_OWNER
|
2004-11-03 13:51:07 +00:00
|
|
|
capability.
|
2007-04-12 22:42:49 +00:00
|
|
|
.TP
|
2004-11-03 13:51:07 +00:00
|
|
|
.B EAGAIN
|
|
|
|
The message can't be sent due to the
|
|
|
|
.I msg_qbytes
|
|
|
|
limit for the queue and
|
|
|
|
.B IPC_NOWAIT
|
2004-11-10 17:24:20 +00:00
|
|
|
was specified in
|
2005-04-18 13:35:29 +00:00
|
|
|
.IR msgflg .
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
|
|
|
.B EFAULT
|
|
|
|
The address pointed to by
|
|
|
|
.I msgp
|
|
|
|
isn't accessible.
|
|
|
|
.TP
|
|
|
|
.B EIDRM
|
|
|
|
The message queue was removed.
|
|
|
|
.TP
|
|
|
|
.B EINTR
|
|
|
|
Sleeping on a full message queue condition, the process caught a signal.
|
|
|
|
.TP
|
|
|
|
.B EINVAL
|
|
|
|
Invalid
|
|
|
|
.I msqid
|
2006-06-03 01:26:30 +00:00
|
|
|
value, or non-positive
|
2004-11-03 13:51:07 +00:00
|
|
|
.I mtype
|
|
|
|
value, or
|
|
|
|
invalid
|
|
|
|
.I msgsz
|
|
|
|
value (less than 0 or greater than the system value
|
|
|
|
.BR MSGMAX ).
|
|
|
|
.TP
|
|
|
|
.B ENOMEM
|
2007-04-12 22:42:49 +00:00
|
|
|
The system does not have enough memory to make a copy of the
|
2006-02-02 10:47:23 +00:00
|
|
|
message pointed to by
|
|
|
|
.IR msgp .
|
2004-11-03 13:51:07 +00:00
|
|
|
.PP
|
|
|
|
When
|
2004-11-10 17:24:20 +00:00
|
|
|
.BR msgrcv ()
|
2007-04-12 22:42:49 +00:00
|
|
|
fails,
|
2004-11-03 13:51:07 +00:00
|
|
|
.I errno
|
|
|
|
will be set to one among the following values:
|
|
|
|
.TP 11
|
|
|
|
.B E2BIG
|
|
|
|
The message text length is greater than
|
|
|
|
.I msgsz
|
|
|
|
and
|
|
|
|
.B MSG_NOERROR
|
2004-11-10 17:24:20 +00:00
|
|
|
isn't specified in
|
2004-11-03 13:51:07 +00:00
|
|
|
.IR msgflg .
|
|
|
|
.TP
|
|
|
|
.B EACCES
|
|
|
|
The calling process does not have read permission on the message queue,
|
|
|
|
and does not have the
|
2007-09-20 16:26:31 +00:00
|
|
|
.B CAP_IPC_OWNER
|
2004-11-03 13:51:07 +00:00
|
|
|
capability.
|
2007-04-12 22:42:49 +00:00
|
|
|
.TP
|
2006-02-11 20:53:04 +00:00
|
|
|
.B EAGAIN
|
|
|
|
No message was available in the queue and
|
2007-04-12 22:42:49 +00:00
|
|
|
.B IPC_NOWAIT
|
|
|
|
was specified in
|
2006-02-11 20:53:04 +00:00
|
|
|
.IR msgflg .
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
|
|
|
.B EFAULT
|
|
|
|
The address pointed to by
|
|
|
|
.I msgp
|
|
|
|
isn't accessible.
|
|
|
|
.TP
|
|
|
|
.B EIDRM
|
|
|
|
While the process was sleeping to receive a message,
|
|
|
|
the message queue was removed.
|
|
|
|
.TP
|
|
|
|
.B EINTR
|
|
|
|
While the process was sleeping to receive a message,
|
2004-11-10 17:24:20 +00:00
|
|
|
the process caught a signal.
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
|
|
|
.B EINVAL
|
|
|
|
.I msgqid
|
2004-11-10 17:24:20 +00:00
|
|
|
was invalid, or
|
2004-11-03 13:51:07 +00:00
|
|
|
.I msgsz
|
2004-11-10 17:24:20 +00:00
|
|
|
was less than 0.
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
|
|
|
.B ENOMSG
|
|
|
|
.B IPC_NOWAIT
|
2004-11-10 17:24:20 +00:00
|
|
|
was specified in
|
2004-11-03 13:51:07 +00:00
|
|
|
.I msgflg
|
|
|
|
and no message of the requested type existed on the message queue.
|
2006-02-02 10:47:23 +00:00
|
|
|
.SH "CONFORMING TO"
|
2006-08-03 13:57:17 +00:00
|
|
|
SVr4, POSIX.1-2001.
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH NOTES
|
2007-04-12 22:42:49 +00:00
|
|
|
The
|
2006-02-02 10:47:23 +00:00
|
|
|
.I msgp
|
|
|
|
argument is declared as \fIstruct msgbuf *\fP with
|
2007-06-08 03:17:37 +00:00
|
|
|
libc4, libc5, glibc 2.0, glibc 2.1.
|
|
|
|
It is declared as \fIvoid *\fP
|
2006-02-02 10:47:23 +00:00
|
|
|
with glibc 2.2 and later, as required by SUSv2 and SUSv3.
|
|
|
|
|
2004-12-13 08:39:46 +00:00
|
|
|
The following limits on message queue resources affect the
|
2004-11-10 17:24:20 +00:00
|
|
|
.BR msgsnd ()
|
2004-12-13 08:39:46 +00:00
|
|
|
call:
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP 11
|
|
|
|
.B MSGMAX
|
2004-11-10 17:24:20 +00:00
|
|
|
Maximum size for a message text: 8192 bytes
|
|
|
|
(on Linux, this limit can be read and modified via
|
|
|
|
.IR /proc/sys/kernel/msgmax ).
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
|
|
|
.B MSGMNB
|
2004-11-10 17:24:20 +00:00
|
|
|
Default maximum size in bytes of a message queue: 16384 bytes
|
|
|
|
(on Linux, this limit can be read and modified via
|
|
|
|
.IR /proc/sys/kernel/msgmnb ).
|
|
|
|
The superuser can increase the size of a message queue beyond
|
2004-11-03 13:51:07 +00:00
|
|
|
.B MSGMNB
|
|
|
|
by a
|
2007-05-11 23:07:02 +00:00
|
|
|
.BR msgctl (2)
|
2004-11-03 13:51:07 +00:00
|
|
|
system call.
|
|
|
|
.PP
|
|
|
|
The implementation has no intrinsic limits for the system wide maximum
|
|
|
|
number of message headers
|
|
|
|
.RB ( MSGTQL )
|
|
|
|
and for the system wide maximum size in bytes of the message pool
|
|
|
|
.RB ( MSGPOOL ).
|
|
|
|
.SH "SEE ALSO"
|
|
|
|
.BR msgctl (2),
|
|
|
|
.BR msgget (2),
|
2006-03-05 20:58:40 +00:00
|
|
|
.BR capabilities (7),
|
2006-04-21 03:53:43 +00:00
|
|
|
.BR mq_overview (7),
|
|
|
|
.BR svipc (7)
|