summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_fork.c
diff options
context:
space:
mode:
authorjmallett <jmallett@FreeBSD.org>2002-09-30 20:20:22 +0000
committerjmallett <jmallett@FreeBSD.org>2002-09-30 20:20:22 +0000
commit0341f71df178fd346332ced28efb677a6ef39414 (patch)
tree44cc85d6d7a465b4410e0fa06f9f5a1b21bc40b6 /sys/kern/kern_fork.c
parente70c6b99c8b8b510eaef402242dd8cb86e300c6f (diff)
downloadFreeBSD-src-0341f71df178fd346332ced28efb677a6ef39414.zip
FreeBSD-src-0341f71df178fd346332ced28efb677a6ef39414.tar.gz
First half of implementation of ksiginfo, signal queues, and such. This
gets signals operating based on a TailQ, and is good enough to run X11, GNOME, and do job control. There are some intricate parts which could be more refined to match the sigset_t versions, but those require further evaluation of directions in which our signal system can expand and contract to fit our needs. After this has been in the tree for a while, I will make in kernel API changes, most notably to trapsignal(9) and sendsig(9), to use ksiginfo more robustly, such that we can actually pass information with our (queued) signals to the userland. That will also result in using a struct ksiginfo pointer, rather than a signal number, in a lot of kern_sig.c, to refer to an individual pending signal queue member, but right now there is no defined behaviour for such. CODAFS is unfinished in this regard because the logic is unclear in some places. Sponsored by: New Gold Technology Reviewed by: bde, tjr, jake [an older version, logic similar]
Diffstat (limited to 'sys/kern/kern_fork.c')
-rw-r--r--sys/kern/kern_fork.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c
index da7ca7d..c8182f9 100644
--- a/sys/kern/kern_fork.c
+++ b/sys/kern/kern_fork.c
@@ -605,6 +605,7 @@ again:
LIST_INSERT_AFTER(p1, p2, p_pglist);
PGRP_UNLOCK(p1->p_pgrp);
LIST_INIT(&p2->p_children);
+ TAILQ_INIT(&p2->p_sigq);
callout_init(&p2->p_itcallout, 0);
OpenPOWER on IntegriCloud