History log of /freebsd-9.3-release/usr.bin/ipcs/ipcs.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 267654 19-Jun-2014 gjb

Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 225736 22-Sep-2011 kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by: re (implicit)


# 224016 14-Jul-2011 bz

Remove semaphore map entry count "semmap" field and its tuning
option that is highly recommended to be adjusted in too much
documentation while doing nothing in FreeBSD since r2729 (rev 1.1).

ipcs(1) needs to be recompiled as it is accessing _KERNEL private
variables.

Reviewed by: jhb (before comment change on linux code)
Sponsored by: Sandvine Incorporated


# 194910 24-Jun-2009 jhb

Change the ABI of some of the structures used by the SYSV IPC API:
- The uid/cuid members of struct ipc_perm are now uid_t instead of unsigned
short.
- The gid/cgid members of struct ipc_perm are now gid_t instead of unsigned
short.
- The mode member of struct ipc_perm is now mode_t instead of unsigned short
(this is merely a style bug).
- The rather dubious padding fields for ABI compat with SV/I386 have been
removed from struct msqid_ds and struct semid_ds.
- The shm_segsz member of struct shmid_ds is now a size_t instead of an
int. This removes the need for the shm_bsegsz member in struct
shmid_kernel and should allow for complete support of SYSV SHM regions
>= 2GB.
- The shm_nattch member of struct shmid_ds is now an int instead of a
short.
- The shm_internal member of struct shmid_ds is now gone. The internal
VM object pointer for SHM regions has been moved into struct
shmid_kernel.
- The existing __semctl(), msgctl(), and shmctl() system call entries are
now marked COMPAT7 and new versions of those system calls which support
the new ABI are now present.
- The new system calls are assigned to the FBSD-1.1 version in libc. The
FBSD-1.0 symbols in libc now refer to the old COMPAT7 system calls.
- A simplistic framework for tagging system calls with compatibility
symbol versions has been added to libc. Version tags are added to
system calls by adding an appropriate __sym_compat() entry to
src/lib/libc/incldue/compat.h. [1]

PR: kern/16195 kern/113218 bin/129855
Reviewed by: arch@, rwatson
Discussed with: kan, kib [1]


# 189283 02-Mar-2009 kib

Correct types of variables used to track amount of allocated SysV shared
memory from int to size_t. Implement a workaround for current ABI not
allowing to properly save size for and report more then 2Gb sized segment
of shared memory.

This makes it possible to use > 2 Gb shared memory segments on 64bit
architectures. Please note the new BUGS section in shmctl(2) and
UPDATING note for limitations of this temporal solution.

Reviewed by: csjp
Tested by: Nikolay Dzham <i levsha org ua>
MFC after: 2 weeks


# 186174 16-Dec-2008 ru

Fix printing of shared memory limits.

MFC after: 3 days


# 174891 24-Dec-2007 edwin

Add the ability to clean up all shared memory segments which are
unused in one go.

From the original PR:

I've observed that linux apps running under the linuxulator
have a habit of leaving behind shared memory segments which
are unused, but which eventually cause the system to run
out of free segments and these apps will stop working.
ipcrm(1) currently only allows removal of unused message
queues, shared memory segments and semaphores on an individual
basis, or those having a matching (non-zero) key. However
it would often be convenient to just do a complete cleanup
of everything, usually as root.

PR: bin/118292
Submitted by: Callum Gibson <callumgibson@optusnet.com.au>
Not reviewed by: grog@
Approved by: grog@


# 174750 18-Dec-2007 edwin

Stylify ipcs/ipcs.c and ipcrm/ipcrm in preparation of the upcoming
changes as proposed in bin/118292.

Feel free to mention any I have missed, there is much to learn with
regarding to style(9).

Approved by: grog@


# 158587 15-May-2006 maxim

o Fix typo in a comment.

PR: bin/97292
Submitted by: clsung
MFC after: 3 days


# 148782 06-Aug-2005 csjp

Change the data type of the upper shared memory limits from a signed
integer to an unsigned long. This lifts variables like the maximum
number of pages available for shared memory from 2^31 to 2^32 on 32
bit architectures, and from 2^31 to 2^64 on 64 bit architectures.

It should be noted that this changes breaks ABI on 64 bit architectures
because the size of the shmmax, shmmin, shmmni, shmseg and shmall members
of the shminfo structure has changed.

Silence on: current@


# 146602 24-May-2005 csjp

If sysctlbyname fails for kernel related reasons, tag the errno
string to the end of the error message. I think we used errx()
there when we really wanted an err().

MFC after: 1 week


# 143286 08-Mar-2005 keramida

Use 12 columns for (int) values, 20 columns for (long) and align
headers properly (right justified for numbers, left justified for
everything else).

This fixes the alignment of the fields on i386, sparc64 and amd64
today but does not dynamically assign column widths or bear in mind
that some of the values may be 64-bit in the future.

Reviewed by: alfred


# 141610 10-Feb-2005 stefanf

Turn K&R functions into prototypes.


# 137618 12-Nov-2004 rwatson

third of several commits to allow kernel System V IPC data structures
to be modified and extended without breaking the user space ABI:

Make the "ipcs" tool, which grubs around in kernel memory to report
status relating to System V IPC, use the _kernel variants on the
System V IPC data structures.

Submitted by: Dandekar Hrishikesh <rishi_dandekar at sbcglobal dot net>
Obtained from: TrustedBSD Project
Sponsored by: DARPA, SPAWAR, McAfee Research


# 127348 24-Mar-2004 bmilekic

Add -u option to ipcs(1) and document it in ipcs.1

It allows you to list IPC facilities owned by username/uid.

Submitted by: Christian S.J. Peron <maneo@bsdpro.com>
PR: bin/63463


# 121746 30-Oct-2003 iwasaki

Cosmetic fix on some TIME related columns.


# 112527 24-Mar-2003 tjr

Add -M, -Q, -S, and -T to the usage message.


# 99112 30-Jun-2002 obrien

Consistently use FBSDID


# 93434 30-Mar-2002 dwmalone

1) Add missing prototypes for fmt_perm and cvt_time.
2) Move a break outside a #if block to keep gcc3 from seeing a "default:"
at the end of a block.
3) Fix some format warnings. Some remain which can be fixed more easily
when we have a full C99 printf.


# 92920 21-Mar-2002 imp

remove __P


# 90878 18-Feb-2002 imp

Fixed divots that I created when I moved prototypes of group_from_gid
and user_from_uid to grp.h and pwd.h. Update the man pages.

Submitted by: David Malone
Pointy hat to: imp


# 78718 24-Jun-2001 dd

Include missing header files which define functions for which gcc has
builtins (e.g., exit, strcmp).


# 77551 31-May-2001 dd

Convert to use the sysctl interface to obtain the data when operating
on a running system. Using kvm is still supported, primarily for
postmortem analysis.

Reviewed by: tmm


# 59821 01-May-2000 peter

Remove the undocumented semconfig() system calls. These cause more trouble
than they are worth.


# 58869 31-Mar-2000 nectar

Instead of checking for a non-zero return value from kvm_read, check
whether we read as many bytes as we expected.


# 55206 29-Dec-1999 peter

Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot). This is consistant with the other
BSD's who made this change quite some time ago. More commits to come.


# 50477 27-Aug-1999 peter

$Id$ -> $FreeBSD$


# 27421 15-Jul-1997 charnier

Add rcsid, Remove unused vars.


# 24360 29-Mar-1997 imp

compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.


# 23012 22-Feb-1997 peter

Revert $FreeBSD$ to $Id$


# 21673 14-Jan-1997 jkh

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


# 17216 18-Jul-1996 joerg

s/msg/shm/ for one variable.

Submitted by: jin@george.lbl.gov (Jin Guojun[ITG])


# 15990 30-May-1996 pst

Drop privileges if we're not reading standard kernel file or namelist.
Submitted by: smpatel (Sujal Patel)


# 9499 12-Jul-1995 bde

Instantiate our own variables instead of depending on bogus common
declarations in system headers that will be fixed soon.


# 2890 19-Sep-1994 dg

Declared msginfo, shminfo, and seminfo structs.


# 2738 13-Sep-1994 dfr

Imported the NetBSD version which acts a lot more like the SYSV program.

Obtained from: NetBSD


# 2731 13-Sep-1994 dfr

Added from FreeBSD-1.1.5 with some additions to list shared memory segments.