freebsd-skq/sys/kern
tanimura a09da29859 Lock struct pgrp, session and sigio.
New locks are:

- pgrpsess_lock which locks the whole pgrps and sessions,
- pg_mtx which protects the pgrp members, and
- s_mtx which protects the session members.

Please refer to sys/proc.h for the coverage of these locks.

Changes on the pgrp/session interface:

- pgfind() needs the pgrpsess_lock held.

- The caller of enterpgrp() is responsible to allocate a new pgrp and
  session.

- Call enterthispgrp() in order to enter an existing pgrp.

- pgsignal() requires a pgrp lock held.

Reviewed by:	jhb, alfred
Tested on:	cvsup.jp.FreeBSD.org
		(which is a quad-CPU machine running -current)
2002-02-23 11:12:57 +00:00
..
bus_if.m
device_if.m
genassym.sh Allow one to specify the AWK used in the environment(commandline). 2002-02-11 03:54:30 +00:00
imgact_aout.c Make MAXTSIZ, DFLDSIZ, MAXDSIZ, DFLSSIZ, MAXSSIZ, SGROWSIZ loader 2001-10-10 23:06:54 +00:00
imgact_elf.c Remove whitespace at end of line. 2001-12-16 17:21:16 +00:00
imgact_gzip.c Make MAXTSIZ, DFLDSIZ, MAXDSIZ, DFLSSIZ, MAXSSIZ, SGROWSIZ loader 2001-10-10 23:06:54 +00:00
imgact_shell.c Return a more meaningful errno when the length of the interpreter 2001-11-28 03:26:58 +00:00
inflate.c
init_main.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
init_sysent.c Add stub syscalls and definitions for KSE calls. 2002-02-19 02:40:31 +00:00
kern_acct.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
kern_acl.c o Scatter vn_start_write() and vn_finished_write() through ACL code so 2002-02-04 17:58:15 +00:00
kern_cap.c - Attempt to help declutter kern. sysctl by moving security out from 2002-01-16 06:55:30 +00:00
kern_clock.c MFS: synchronize the code with the version in -stable, specifically: 2002-02-11 23:56:18 +00:00
kern_condvar.c In a threaded world, differnt priorirites become properties of 2002-02-11 20:37:54 +00:00
kern_conf.c (Doing that whole test-immediately-after-commit-thing like obrien sez:) 2002-02-16 17:44:43 +00:00
kern_descrip.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
kern_environment.c Fix an inverted test csae. Success of getenv() is determined by a return 2001-10-25 17:22:31 +00:00
kern_event.c Add entry for EVFILT_NETDEV, which was inadverdently omitted back in Sept. 2002-01-24 17:20:55 +00:00
kern_exec.c Pre-KSE/M3 commit. 2002-02-07 20:58:47 +00:00
kern_exit.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
kern_fork.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
kern_idle.c Pre-KSE/M3 commit. 2002-02-07 20:58:47 +00:00
kern_intr.c MFS: synchronize the code with the version in -stable, specifically: 2002-02-11 23:56:18 +00:00
kern_jail.c - Attempt to help declutter kern. sysctl by moving security out from 2002-01-16 06:55:30 +00:00
kern_kthread.c Fix a couple of style bugs introduced (or touched by) previous commit. 2002-02-07 23:06:26 +00:00
kern_ktr.c Print parm6 too in the !KTR_EXTEND case. 2002-01-01 21:47:38 +00:00
kern_ktrace.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
kern_linker.c - Whitespace fixes leftover from previous commit. 2002-02-22 13:43:56 +00:00
kern_lock.c Fix a BUF_TIMELOCK race against BUF_LOCK and fix a deadlock in vget() 2001-12-20 22:42:27 +00:00
kern_lockf.c make LOCKF_DEBUG kernel option work (sorta) 2001-12-02 12:47:25 +00:00
kern_malloc.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_mib.c - Attempt to help declutter kern. sysctl by moving security out from 2002-01-16 06:55:30 +00:00
kern_module.c - Whitespace fixup left over from previous commit. 2002-02-22 13:33:10 +00:00
kern_mtxpool.c cast hashing index to (int)(intptr_t) for calculation. 2001-11-19 00:20:36 +00:00
kern_mutex.c Tidy up some unused variables 2002-02-20 21:25:44 +00:00
kern_ntptime.c Revise timercounters to use binary fixed point format internally. 2002-02-07 21:21:55 +00:00
kern_physio.c
kern_poll.c Make this compile after changes to kse structures. 2002-02-15 02:50:07 +00:00
kern_proc.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
kern_prot.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
kern_random.c Load the current timecounter into tc. The timecounter global can change 2002-02-18 19:49:30 +00:00
kern_resource.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
kern_sema.c Repeat after me -- "Use of ANSI string concatenation can be bad." 2001-12-10 05:40:12 +00:00
kern_shutdown.c Replace accidentally removed setrunqueue() 2002-02-09 01:38:16 +00:00
kern_sig.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
kern_subr.c In a threaded world, differnt priorirites become properties of 2002-02-11 20:37:54 +00:00
kern_switch.c In a threaded world, differnt priorirites become properties of 2002-02-11 20:37:54 +00:00
kern_sx.c Invert the test of sx_xholder for SX_LOCKED. We need to warn if a 2002-01-18 09:21:15 +00:00
kern_synch.c Convert p->p_runtime and PCPU(switchtime) to bintime format. 2002-02-22 13:32:01 +00:00
kern_syscalls.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_sysctl.c Add code to export and print the description associated to sysctl 2001-12-16 02:55:41 +00:00
kern_tc.c Use better scaling factor for NTPs correction. 2002-02-22 12:59:20 +00:00
kern_time.c Take the common case of gettimeofday(&tv, NULL) out from under Giant. 2002-02-18 08:40:28 +00:00
kern_timeout.c Move most of the kernel submap initialization code, including the 2001-08-22 04:07:27 +00:00
kern_xxx.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
ksched.c In a threaded world, differnt priorirites become properties of 2002-02-11 20:37:54 +00:00
link_aout.c Since we used '#ifdef __i386__', don't close with '#endif /* !__alpha__ */' 2001-11-24 10:11:14 +00:00
link_elf_obj.c Fix a number of misspellings of "dependency" and "dependencies" in 2001-11-16 21:08:40 +00:00
link_elf.c Fix a number of misspellings of "dependency" and "dependencies" in 2001-11-16 21:08:40 +00:00
linker_if.m Add the sysctl "kern.function_list", which currently exports all 2001-10-30 15:21:45 +00:00
Make.tags.inc Update pathnames for creation of tags file. 2001-12-05 01:23:21 +00:00
Makefile Don't generate <sys/syscalls-hide.h> it has never had any users anywhere in 2001-10-13 09:17:49 +00:00
makeobjops.pl Switch warnings and strict back on again in a way that's compatible 2001-11-16 02:02:42 +00:00
makesyscalls.sh Oops, fix previous commit to not generate a C comment in syscall.mk. 2002-01-30 15:12:12 +00:00
md4c.c
md5c.c
p1003_1b.c Pre-KSE/M3 commit. 2002-02-07 20:58:47 +00:00
posix4_mib.c
subr_acl_posix1e.c o Scatter vn_start_write() and vn_finished_write() through ACL code so 2002-02-04 17:58:15 +00:00
subr_autoconf.c
subr_blist.c With Alfred's permission, remove vm_mtx in favor of a fine-grained approach 2001-07-04 16:20:28 +00:00
subr_bus.c Fixed an apparent typo ("-" before ":") and an English error (comma 2001-12-28 18:32:13 +00:00
subr_clist.c
subr_devstat.c GC: BIO_ORDERED, various infrastructure dealing with BIO_ORDERED. 2002-02-22 09:26:35 +00:00
subr_disk.c Don't call cdevsw_add(). 2001-11-04 11:56:22 +00:00
subr_disklabel.c GC: BIO_ORDERED, various infrastructure dealing with BIO_ORDERED. 2002-02-22 09:26:35 +00:00
subr_diskmbr.c Wrap Dangerously Dedicated printf under if (bootverbose) 2001-12-11 05:35:43 +00:00
subr_diskslice.c Uninlined most of the bloated inline functions in <sys/disklabel.h>. Some 2002-01-17 18:33:18 +00:00
subr_eventhandler.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
subr_hints.c Fix a fatal type mismatch (char *static_env; vs char static_env[]). 2001-09-17 21:27:41 +00:00
subr_kobj.c
subr_log.c Use the passed in thread to selrecord() instead of curthread. 2001-09-21 22:46:54 +00:00
subr_mbuf.c On the first day of Christmas bde gave to me: 2001-12-23 22:04:08 +00:00
subr_mchain.c Add support for iovcnt greater than 1. This should resolve problems 2002-02-21 16:23:38 +00:00
subr_module.c
subr_param.c Allow the kern.maxusers boot tuneable to be set to 0 (previously only 2002-02-06 01:19:19 +00:00
subr_pcpu.c Add a per-cpu variable, cpumask, the preshifted equivalent of 1 << cpuid. 2002-01-05 09:35:50 +00:00
subr_power.c Some fix for the recent apm module changes. 2001-11-01 16:34:07 +00:00
subr_prf.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
subr_prof.c - Change all callers of addupc_task() to check PS_PROFIL explicitly and 2001-12-18 09:06:10 +00:00
subr_rman.c Add a rman_reserve_resource_bound() function that takes an additional 2001-12-21 21:40:55 +00:00
subr_sbuf.c Yet a bug with extensible sbufs being marked as OVERFLOWED. This time 2002-01-24 20:57:56 +00:00
subr_scanf.c
subr_smp.c Fix forward_roundrobin(). It was mistakenly using the cpu number as 2002-01-05 09:38:47 +00:00
subr_taskqueue.c Change the preemption code for software interrupt thread schedules and 2002-01-05 08:47:13 +00:00
subr_trap.c Make this compile. 2002-02-23 01:42:13 +00:00
subr_turnstile.c Tidy up some unused variables 2002-02-20 21:25:44 +00:00
subr_witness.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
subr_xxx.c GC the unused einval() 2002-02-10 22:07:41 +00:00
sys_generic.c Remove unused variables in select(2) from previous delta. 2002-01-30 19:48:25 +00:00
sys_pipe.c SMP Lock struct file, filedesc and the global file list. 2002-01-13 11:58:06 +00:00
sys_process.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
sys_socket.c SMP Lock struct file, filedesc and the global file list. 2002-01-13 11:58:06 +00:00
syscalls.c Add stub syscalls and definitions for KSE calls. 2002-02-19 02:40:31 +00:00
syscalls.master Add stub syscalls and definitions for KSE calls. 2002-02-19 02:40:31 +00:00
sysv_ipc.c Eliminate semexit_hook using at_exit(9) and rm_at_exit(9). 2001-12-30 18:55:09 +00:00
sysv_msg.c Make AIO a loadable module. 2001-12-29 07:13:47 +00:00
sysv_sem.c Rehash of 1.43: simply remove the comment, since it's highly redundant 2002-02-18 16:02:24 +00:00
sysv_shm.c Make AIO a loadable module. 2001-12-29 07:13:47 +00:00
tty_compat.c
tty_conf.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
tty_cons.c Fix boot -p for DDBless kernels 2001-12-11 10:21:26 +00:00
tty_pty.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
tty_subr.c
tty_tty.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
tty.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
uipc_accf.c Revert the last bits of my bogus move of NMBCLUSTERS 2001-06-01 21:47:34 +00:00
uipc_domain.c Update the comment about System initialization to reflect the use of 2001-12-08 04:20:54 +00:00
uipc_mbuf2.c Sync with recent KAME. 2001-06-11 12:39:29 +00:00
uipc_mbuf.c Get rid of the twisted MFREE() macro entirely. 2002-02-05 02:00:56 +00:00
uipc_proto.c Implement a LOCAL_PEERCRED socket option which returns a 2001-08-17 22:01:18 +00:00
uipc_sockbuf.c Get rid of the twisted MFREE() macro entirely. 2002-02-05 02:00:56 +00:00
uipc_socket2.c Get rid of the twisted MFREE() macro entirely. 2002-02-05 02:00:56 +00:00
uipc_socket.c Get rid of the twisted MFREE() macro entirely. 2002-02-05 02:00:56 +00:00
uipc_syscalls.c Fixed bug in calculation of amount of file to send when nbytes !=0 and 2002-01-22 17:32:10 +00:00
uipc_usrreq.c Remove a bogus FILEDESC_UNLOCK. 2002-01-14 19:45:03 +00:00
vfs_acl.c o Scatter vn_start_write() and vn_finished_write() through ACL code so 2002-02-04 17:58:15 +00:00
vfs_aio.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
vfs_bio.c GC: BIO_ORDERED, various infrastructure dealing with BIO_ORDERED. 2002-02-22 09:26:35 +00:00
vfs_cache.c Remove cache_purgeleafdirs(), it has been #if 0 for quite some time. 2002-02-17 20:40:29 +00:00
vfs_cluster.c Implement IO_NOWDRAIN and B_NOWDRAIN - prevents the buffer cache from blocking 2001-11-05 18:48:54 +00:00
vfs_conf.c Remove the use of _PATH_DEV in the example. 2001-11-24 01:34:12 +00:00
vfs_default.c Fix incorrect double-termination of vm_object. When a vm_object is 2001-10-23 01:23:41 +00:00
vfs_export.c Fix some signed/unsigned integer confusion, and add bounds checking of 2001-09-10 11:28:07 +00:00
vfs_extattr.c Make sure to hold vnode lock when calling into VOP_GETATTR(). 2002-02-10 21:44:30 +00:00
vfs_init.c Revert consequences of changes to mount.h, part 2. 2001-04-29 02:45:39 +00:00
vfs_lookup.c Include sys/_lock.h and sys/_mutex.h to reduce namespace pollution. 2002-01-13 21:37:49 +00:00
vfs_mount.c Remove the use of _PATH_DEV in the example. 2001-11-24 01:34:12 +00:00
vfs_subr.c Make v_addpollinfo() visible and non-inline. 2002-02-18 16:18:02 +00:00
vfs_syscalls.c Make sure to hold vnode lock when calling into VOP_GETATTR(). 2002-02-10 21:44:30 +00:00
vfs_vnops.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
vnode_if.pl Throw the $FreeBSD$s back in, properly escaping them. 2002-01-04 05:27:47 +00:00
vnode_if.src Per discussion at BSDCon, note that the vop_getattr locking protocol 2002-02-18 00:22:57 +00:00