diff options
author | dd <dd@FreeBSD.org> | 2001-05-30 03:28:59 +0000 |
---|---|---|
committer | dd <dd@FreeBSD.org> | 2001-05-30 03:28:59 +0000 |
commit | 32b1a4110cf1de04556b2d40372860d40cfa9fd3 (patch) | |
tree | 5bb490a33b116d882077493e695f17e0ed11a288 /sys/kern/sysv_sem.c | |
parent | 1244169d81cf520b46d83bdda79a63382a1331c5 (diff) | |
download | FreeBSD-src-32b1a4110cf1de04556b2d40372860d40cfa9fd3.zip FreeBSD-src-32b1a4110cf1de04556b2d40372860d40cfa9fd3.tar.gz |
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
Diffstat (limited to 'sys/kern/sysv_sem.c')
-rw-r--r-- | sys/kern/sysv_sem.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sys/kern/sysv_sem.c b/sys/kern/sysv_sem.c index cc2f2d4..6cd80f3 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)); +} |