msgctl.2, semctl.2, shmctl.2: Document STAT_ANY commands

Reported-by: Joe Lawrence <joe.lawrence@redhat.com>
Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Davidlohr Bueso 2018-03-20 11:55:03 -07:00 committed by Michael Kerrisk
parent 08069f7a04
commit d2ff4f8619
3 changed files with 50 additions and 6 deletions

View File

@ -33,6 +33,7 @@
.\" Language and formatting clean-ups .\" Language and formatting clean-ups
.\" Added msqid_ds and ipc_perm structure definitions .\" Added msqid_ds and ipc_perm structure definitions
.\" 2005-08-02, mtk: Added IPC_INFO, MSG_INFO, MSG_STAT descriptions .\" 2005-08-02, mtk: Added IPC_INFO, MSG_INFO, MSG_STAT descriptions
.\" 2018-03-20, dbueso: Added MSG_STAT_ANY description.
.\" .\"
.TH MSGCTL 2 2017-09-15 "Linux" "Linux Programmer's Manual" .TH MSGCTL 2 2017-09-15 "Linux" "Linux Programmer's Manual"
.SH NAME .SH NAME
@ -222,10 +223,23 @@ Return a
structure as for structure as for
.BR IPC_STAT . .BR IPC_STAT .
However, the However, the
.I msqid .I msgid
argument is not a queue identifier, but instead an index into argument is not a queue identifier, but instead an index into
the kernel's internal array that maintains information about the kernel's internal array that maintains information about
all message queues on the system. all message queues on the system.
.TP
.BR MSG_STAT_ANY " (Linux-specific)"
Return a
.I msqid_ds
structure as for
.BR MSG_STAT .
However, the
.I msg_perm.mode
is not checked for read access for
.IR msqid ,
resembing the behaviour of
/proc/sysvipc/msg.
.PP
.SH RETURN VALUE .SH RETURN VALUE
On success, On success,
.BR IPC_STAT , .BR IPC_STAT ,
@ -241,10 +255,10 @@ operation returns the index of the highest used entry in the
kernel's internal array recording information about all kernel's internal array recording information about all
message queues. message queues.
(This information can be used with repeated (This information can be used with repeated
.B MSG_STAT .B MSG_STAT or MSG_STAT_ANY
operations to obtain information about all queues on the system.) operations to obtain information about all queues on the system.)
A successful A successful
.B MSG_STAT .B MSG_STAT or MSG_STAT_ANY
operation returns the identifier of the queue whose index was given in operation returns the identifier of the queue whose index was given in
.IR msqid . .IR msqid .
.PP .PP

View File

@ -37,6 +37,7 @@
.\" Rewrote semun text .\" Rewrote semun text
.\" Added semid_ds and ipc_perm structure definitions .\" Added semid_ds and ipc_perm structure definitions
.\" 2005-08-02, mtk: Added IPC_INFO, SEM_INFO, SEM_STAT descriptions. .\" 2005-08-02, mtk: Added IPC_INFO, SEM_INFO, SEM_STAT descriptions.
.\" 2018-03-20, dbueso: Added SEM_STAT_ANY description.
.\" .\"
.TH SEMCTL 2 2017-09-15 "Linux" "Linux Programmer's Manual" .TH SEMCTL 2 2017-09-15 "Linux" "Linux Programmer's Manual"
.SH NAME .SH NAME
@ -240,6 +241,17 @@ argument is not a semaphore identifier, but instead an index into
the kernel's internal array that maintains information about the kernel's internal array that maintains information about
all semaphore sets on the system. all semaphore sets on the system.
.TP .TP
.BR SEM_STAT_ANY " (Linux-specific)"
Return a
.I seminfo
structure containing the same information as for
.BR SEM_STAT .
However, the
.I sem_perm.mode
is not checked for read access for
.IR semid ,
resembing the behaviour of
/proc/sysvipc/sem.
.B GETALL .B GETALL
Return Return
.B semval .B semval
@ -367,7 +379,7 @@ the index of the highest used entry in the
kernel's internal array recording information about all kernel's internal array recording information about all
semaphore sets. semaphore sets.
(This information can be used with repeated (This information can be used with repeated
.B SEM_STAT .B SEM_STAT or SEM_STAT_ANY
operations to obtain information about all semaphore sets on the system.) operations to obtain information about all semaphore sets on the system.)
.TP .TP
.B SEM_INFO .B SEM_INFO
@ -377,6 +389,10 @@ as for
.B SEM_STAT .B SEM_STAT
the identifier of the semaphore set whose index was given in the identifier of the semaphore set whose index was given in
.IR semid . .IR semid .
.TP
.B SEM_STAT_ANY
as for
.BR SEM_STAT .
.PP .PP
All other All other
.I cmd .I cmd
@ -397,6 +413,7 @@ has one of the values
.BR GETZCNT , .BR GETZCNT ,
.BR IPC_STAT , .BR IPC_STAT ,
.BR SEM_STAT , .BR SEM_STAT ,
.BR SEM_STAT_ANY ,
.BR SETALL , .BR SETALL ,
or or
.B SETVAL .B SETVAL

View File

@ -41,6 +41,7 @@
.\" 2005-04-25, mtk -- noted aberrant Linux behavior w.r.t. new .\" 2005-04-25, mtk -- noted aberrant Linux behavior w.r.t. new
.\" attaches to a segment that has already been marked for deletion. .\" attaches to a segment that has already been marked for deletion.
.\" 2005-08-02, mtk: Added IPC_INFO, SHM_INFO, SHM_STAT descriptions. .\" 2005-08-02, mtk: Added IPC_INFO, SHM_INFO, SHM_STAT descriptions.
.\" 2018-03-20, dbueso: Added SHM_STAT_ANY description.
.\" .\"
.TH SHMCTL 2 2017-09-15 "Linux" "Linux Programmer's Manual" .TH SHMCTL 2 2017-09-15 "Linux" "Linux Programmer's Manual"
.SH NAME .SH NAME
@ -242,6 +243,18 @@ However, the
argument is not a segment identifier, but instead an index into argument is not a segment identifier, but instead an index into
the kernel's internal array that maintains information about the kernel's internal array that maintains information about
all shared memory segments on the system. all shared memory segments on the system.
.TP
.BR SHM_STAT_ANY " (Linux-specific)"
Return a
.I shmid_ds
structure as for
.BR SHM_STAT .
However, the
.I shm_perm.mode
is not checked for read access for
.IR shmid ,
resembing the behaviour of
/proc/sysvipc/shm.
.PP .PP
The caller can prevent or allow swapping of a shared The caller can prevent or allow swapping of a shared
memory segment with the following \fIcmd\fP values: memory segment with the following \fIcmd\fP values:
@ -287,7 +300,7 @@ operation returns the index of the highest used entry in the
kernel's internal array recording information about all kernel's internal array recording information about all
shared memory segments. shared memory segments.
(This information can be used with repeated (This information can be used with repeated
.B SHM_STAT .B SHM_STAT or SHM_STAT_ANY
operations to obtain information about all shared memory segments operations to obtain information about all shared memory segments
on the system.) on the system.)
A successful A successful
@ -328,7 +341,7 @@ isn't accessible.
\fIshmid\fP is not a valid identifier, or \fIcmd\fP \fIshmid\fP is not a valid identifier, or \fIcmd\fP
is not a valid command. is not a valid command.
Or: for a Or: for a
.B SHM_STAT .B SHM_STAT or SHM_STAT_ANY
operation, the index value specified in operation, the index value specified in
.I shmid .I shmid
referred to an array slot that is currently unused. referred to an array slot that is currently unused.