freebsd-nq/sys
David Xu ebceaf6dc7 Add support for queueing SIGCHLD same as other UNIX systems did.
For each child process whose status has been changed, a SIGCHLD instance
is queued, if the signal is stilling pending, and process changed status
several times, signal information is updated to reflect latest process
status. If wait() returns because the status of a child process is
available, pending SIGCHLD signal associated with the child process is
discarded. Any other pending SIGCHLD signals remain pending.

The signal information is allocated at the same time when proc structure
is allocated, if process signal queue is fully filled or there is a memory
shortage, it can still send the signal to process.

There is a booting time tunable kern.sigqueue.queue_sigchild which
can control the behavior, setting it to zero disables the SIGCHLD queueing
feature, the tunable will be removed if the function is proved that it is
stable enough.

Tested on: i386 (SMP and UP)
2005-11-08 09:09:26 +00:00
..
alpha Add uart(4). When both sio(4) and uart(4) can handle a serial port, 2005-11-05 19:48:53 +00:00
amd64 Add uart(4). When both sio(4) and uart(4) can handle a serial port, 2005-11-05 19:48:53 +00:00
arm MFi386 rev 1.536 (sort of) 2005-11-06 16:10:28 +00:00
boot Consistently use OPT_* macros to test/set boot options. 2005-11-03 07:35:36 +00:00
bsm For consistency with more system include files, add a trailing '_' to 2005-05-29 16:11:34 +00:00
cam Make the exploring of all luns supported by an HBA more of a 2005-09-16 01:26:17 +00:00
coda Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
compat Change the definition for EXT_NDIS to EXT_NET_DRV. Since the latest 2005-11-07 16:57:14 +00:00
conf Insert a layer of indirection to the pmap code, using a kobj for 2005-11-08 06:48:08 +00:00
contrib This commit was generated by cvs2svn to compensate for changes in r152069, 2005-11-04 21:29:41 +00:00
crypto Add VIA/ACE "PadLock" support as a crypto(9) driver. 2005-08-18 00:30:22 +00:00
ddb - Rename 'traceall' to 'alltrace' so that the 'tr' shortcut for 'trace' 2005-10-24 15:21:36 +00:00
dev Add #nclude <dev/pci/pcireg.h> to pick up definitions for PCIR_BAR and 2005-11-08 04:11:50 +00:00
doc
fs Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
gdb
geom Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
gnu Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
i4b Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
i386 Add uart(4). When both sio(4) and uart(4) can handle a serial port, 2005-11-05 19:48:53 +00:00
ia64 Begin and end the initialization of pvzone in pmap_init(). 2005-11-04 18:03:24 +00:00
isa Fix an endianness issue in pnp_eisaformat(). This corrects printing PnP IDs 2005-09-28 15:01:58 +00:00
isofs/cd9660 Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
kern Add support for queueing SIGCHLD same as other UNIX systems did. 2005-11-08 09:09:26 +00:00
libkern Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
modules Catch up with ACPI-CA 20051021 import 2005-11-01 22:44:08 +00:00
net - Do not raise IFF_DRV_OACTIVE flag in vlan_start, because this 2005-11-06 19:43:04 +00:00
net80211 Retire MT_HEADER mbuf type and change its users to use MT_DATA. 2005-11-02 13:46:32 +00:00
netatalk Forward declare atalkdomain with static linkage, not extern, since 2005-09-11 16:04:56 +00:00
netatm Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
netgraph Simplify setting the link-level address. 2005-11-08 09:03:06 +00:00
netinet Retire MT_HEADER mbuf type and change its users to use MT_DATA. 2005-11-02 13:46:32 +00:00
netinet6 statically configured IPv6 address is properly added/deleted now 2005-10-31 23:06:04 +00:00
netipsec Retire MT_HEADER mbuf type and change its users to use MT_DATA. 2005-11-02 13:46:32 +00:00
netipx Retire MT_HEADER mbuf type and change its users to use MT_DATA. 2005-11-02 13:46:32 +00:00
netkey Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
netnatm Forward declaring static variables as extern is invalid ISO-C. Now that 2005-09-07 10:06:14 +00:00
netncp Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
netsmb Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
nfs Fixes for NFS crashes on architectures that require strict alignment. 2005-07-14 20:08:27 +00:00
nfs4client Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
nfsclient Fix for a crash (from nfs_lookup() in an error case). 2005-11-03 19:24:54 +00:00
nfsserver Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
opencrypto Fix bogus check. It was possible to panic the kernel by giving 0 length. 2005-08-18 11:58:03 +00:00
pc98 Move the isa, npx, mem and io devices and the PC98 option from GENERIC 2005-10-28 15:30:51 +00:00
pccard Remove the kernel portion of OLDCARD. I'm working on a replacement 2005-09-25 21:29:32 +00:00
pci - Use callout_*() to manage the callout and make it MPSAFE. 2005-10-31 21:37:27 +00:00
posix4 Const-qualify ksem_timedwait's parameter abstime as it's only passed in. 2005-10-18 11:46:24 +00:00
powerpc Name change from pmap_* to moea_* to fit into the new order of 2005-11-08 06:49:45 +00:00
rpc Add GIANT_REQUIRED and WITNESS sleep warnings to uprintf() and tprintf(), 2005-09-19 16:51:43 +00:00
security Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
sparc64 Add stoppcbs[] arrays on Alpha and sparc64 and have each CPU save its 2005-11-03 21:08:20 +00:00
sys Add support for queueing SIGCHLD same as other UNIX systems did. 2005-11-08 09:09:26 +00:00
tools Add convenience macros for bus_space usage that doesn't require specification 2005-09-24 20:11:07 +00:00
ufs Slightly reorganize to reduce duplicated code. 2005-11-07 18:25:23 +00:00
vm If a physical page is mapped by two or more virtual addresses, transmitted 2005-11-08 06:33:21 +00:00
Makefile