aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/sysv_sem.c
diff options
context:
space:
mode:
authorDima Dorfman <dd@FreeBSD.org>2001-05-30 03:28:59 +0000
committerDima Dorfman <dd@FreeBSD.org>2001-05-30 03:28:59 +0000
commita723c4e1736294c9ce405d1def2e68468495cb7b (patch)
treebadc472efc99d4ad0b2dba9ee56535fb442a2624 /sys/kern/sysv_sem.c
parent91a086eaf523cb0973cd2661096c3b19aaba7a9c (diff)
downloadsrc-a723c4e1736294c9ce405d1def2e68468495cb7b.tar.gz
src-a723c4e1736294c9ce405d1def2e68468495cb7b.zip
Export via sysctl:
* all members of msginfo from sysv_msg.c; * msqids from sysv_msg.c; * sema from sysv_sem.c; and * shmsegs from sysv_shm.c; These will be used by ipcs(1) in non-kvm mode. Reviewed by: tmm
Notes
Notes: svn path=/head/; revision=77461
Diffstat (limited to 'sys/kern/sysv_sem.c')
-rw-r--r--sys/kern/sysv_sem.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sys/kern/sysv_sem.c b/sys/kern/sysv_sem.c
index cc2f2d43a9fd..6cd80f3b1a56 100644
--- a/sys/kern/sysv_sem.c
+++ b/sys/kern/sysv_sem.c
@@ -28,6 +28,7 @@ static void seminit __P((void));
static int sysvsem_modload __P((struct module *, int, void *));
static int semunload __P((void));
static void semexit_myhook __P((struct proc *p));
+static int sysctl_sema __P((SYSCTL_HANDLER_ARGS));
#ifndef _SYS_SYSPROTO_H_
struct __semctl_args;
@@ -148,6 +149,8 @@ SYSCTL_INT(_kern_ipc, OID_AUTO, semume, CTLFLAG_RD, &seminfo.semume, 0, "");
SYSCTL_INT(_kern_ipc, OID_AUTO, semusz, CTLFLAG_RD, &seminfo.semusz, 0, "");
SYSCTL_INT(_kern_ipc, OID_AUTO, semvmx, CTLFLAG_RW, &seminfo.semvmx, 0, "");
SYSCTL_INT(_kern_ipc, OID_AUTO, semaem, CTLFLAG_RW, &seminfo.semaem, 0, "");
+SYSCTL_PROC(_kern_ipc, OID_AUTO, sema, CTLFLAG_RD,
+ NULL, 0, sysctl_sema, "", "");
#if 0
RO seminfo.semmap /* SEMMAP unused */
@@ -1066,3 +1069,11 @@ semexit_myhook(p)
suptr->un_proc = NULL;
*supptr = suptr->un_next;
}
+
+static int
+sysctl_sema(SYSCTL_HANDLER_ARGS)
+{
+
+ return (SYSCTL_OUT(req, sema,
+ sizeof(struct semid_ds) * seminfo.semmni));
+}