Commit Graph

44 Commits

Author SHA1 Message Date
christos 22839acdb9 use the exithook mechanism to clean up semaphores. 2002-03-17 22:21:58 +00:00
nathanw 3f0d660168 Make the debugging printfs compile:
- printf format checking doesn't like %x for pointers; use %p like we should.
 - LP64 fixes.
2002-03-05 23:28:58 +00:00
lukem adc783d537 add RCSIDs 2001-11-12 15:25:01 +00:00
jdolecek c650c8d91c make local 'nsops' same unsigned type as the value we store there in sys_semop() 2001-08-03 05:58:18 +00:00
simonb da251cb08f Delete a couple of <uvm/uvm_extern.h> includes that were for
<sys/sysctl.h> only.
2000-07-22 16:11:02 +00:00
mrg 32aa199ccf remove include of <vm/vm.h> 2000-06-27 17:41:07 +00:00
simonb 38cc1b3975 Add new sysctl node "KERN_SYSVIPC_INFO" with "KERN_SYSVIPC_MSG_INFO",
"KERN_SYSVIPC_SEM_INFO" and "KERN_SYSVIPC_SHM_INFO" to return the
info and data structures for the relevent SysV IPC types.  The return
structures use fixed-size types and should be compat32 safe.  All
user-visible changes are protected with
	#if !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)

Make all variable declarations extern in msg.h, sem.h and shm.h and
add relevent variable declarations to sysv_*.c and remove unneeded
header files from those .c files.

Make compat14 SysV IPC conversion functions and sysctl_file() static.

Change the data pointer to "void *" in sysctl_clockrate(),
sysctl_ntptime(), sysctl_file() and sysctl_doeproc().
2000-06-02 15:53:03 +00:00
sommerfeld f460c85cb3 Remove existing semaphore system locking mechanism and turn
sys_semconfig into a placebo system call, to avoid giving folks an
easy way to wedge processes which use semaphores.

NOTE: unlike 386bsd and freebsd, processes which did not have
semaphore undo records would not be affected by this problem (reducing
it from a serious local denial-of-service problem to a largely
cosmetic problem, since virtually nobody uses semaphores).  But the
code is just Wrong so we're ripping it out anyway.
2000-05-27 21:00:25 +00:00
thorpej 21fc65e1a8 sleep() -> tsleep() 2000-05-27 04:52:27 +00:00
augustss 264f1d27c6 Get rid of register declarations. 2000-03-30 09:27:11 +00:00
christos 3cbe025990 __semctl13 -> ____semctl13 because this now is not called directly.
The fourth argument to it is a pointer to union semun not union semun,
because passing structs and unions to syscalls cannot be handled portably.
2000-01-31 15:12:30 +00:00
thorpej dc8ecaa15b Overhaul of the SVID IPC facilities, primarily to use the types specified
by the Single UNIX Specification version 2, rather than the SVR2-derived
types.  While I was here, I did a namespace sweep to expose the constants
and strucutures, and structure members described by SUSv2; documentation
updates coming shortly.

Fixes kern/8158.
1999-08-25 05:05:48 +00:00
tron bac6bb6bf2 No need to get definition of "SYSV..." from "opt_sysv.h" because they
must be set if these files are compiled.
1998-10-21 22:24:28 +00:00
tron bb56b72356 Defopt SYSVMSG, SYSVSEM and SYSVSHM. 1998-10-19 22:19:27 +00:00
perry 275d1554aa Abolition of bcopy, ovbcopy, bcmp, and bzero, phase one.
bcopy(x, y, z) ->  memcpy(y, x, z)
ovbcopy(x, y, z) -> memmove(y, x, z)
   bcmp(x, y, z) ->  memcmp(x, y, z)
  bzero(x, y)    ->  memset(x, 0, y)
1998-08-04 04:03:10 +00:00
kleink bd6d376a49 Various SysV IPC prototype changes. 1998-05-07 18:00:49 +00:00
christos f443b89c92 backout previous kprintf change 1996-10-13 02:32:29 +00:00
christos 153ead2dff - Use debugging printf - macros instead if #ifdef #endif everywhere
- printf -> kprintf, sprintf -> ksprintf
1996-10-10 22:43:21 +00:00
christos 09afd77655 More proto fixes 1996-02-09 18:59:18 +00:00
christos 8a5b1b92e2 First pass at prototyping 1996-02-04 02:15:01 +00:00
mycroft 245f292fed Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:25:19 +00:00
thorpej 60024eb978 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 21:40:36 +00:00
christos 1a5a3c9199 Extracted all of the compat_xxx routines, and created a library [libcompat]
for them. There are a few #ifdef COMPAT_XX remaining, but they are not easy
or worth eliminating (yet).
1995-06-24 20:33:55 +00:00
pk 1e52ad70a9 We need some compat_10 routines if COMPAT_SUNOS is on (PR #1008). 1995-06-05 12:56:54 +00:00
mycroft 7439778432 Use %p. 1995-03-19 23:44:44 +00:00
mycroft 025723db2b Fix another bug pointed out by Daniel Boulet. 1994-12-10 17:14:42 +00:00
mycroft eb635d6e4f Make semlock_holder non-static. 1994-12-05 08:30:30 +00:00
mycroft 168a4388a5 Check for another error condition. 1994-12-05 08:28:53 +00:00
mycroft 69f600c8a2 Fix thinko in previous commit. 1994-12-05 07:54:48 +00:00
mycroft 861c8760a3 Add a comment to make this a little clearer... 1994-12-05 07:32:24 +00:00
mycroft af33b8e0c6 Merge changes from Daniel Boulet to avoid waiting for the semaphore lock in
semexit() if there are no undo records to process.
1994-12-05 07:22:12 +00:00
mycroft 225e113c5a Move the wait loop into a separate function. 1994-12-05 06:46:29 +00:00
mycroft fc508faac1 Fix the locking mechanism that got broken with the new syscall interface. 1994-12-05 06:41:42 +00:00
mycroft 54b91ee78e Make this code a little more consistent with itself. 1994-12-04 14:06:36 +00:00
cgd 6b86130410 update for new syscall args description mechanism 1994-10-20 04:22:35 +00:00
cgd cf92afd66e New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:29:24 +00:00
mycroft 30cbcb7e80 Generalize ipcperm() a little. 1994-05-25 08:15:45 +00:00
hpeyerl 2d7c7416dd sysv_shm.c from Adam.
sysv_ipc.c from me.
and various sundry changes to make sysv_ipc.c fit in.
(somewhat untested and not very pleasant reading material)
1994-05-25 02:14:24 +00:00
mycroft 3406139426 Format police, the end. 1994-02-13 11:31:16 +00:00
mycroft 22a8203482 Format police, second pass. 1994-02-13 10:20:02 +00:00
mycroft e3c4154717 Format police, first pass. 1994-02-13 09:57:12 +00:00
mycroft 7f50bd1829 Canonicalize all #includes. 1993-12-18 04:21:37 +00:00
cgd 1259031077 kill bogus test 1993-11-15 07:54:45 +00:00
cgd 4878a43c3d Add the System V message queue and semaphore facilities. Implemented
by Daniel Boulet <danny@BouletFermat.ab.ca>
1993-11-14 13:21:59 +00:00