Any reason why this may be a bad idea?  I think it'd be useful
for a pwait(1)-like utility (from Solaris).

Index: lib/libc/sys/kqueue.2
===================================================================
RCS file: /home/ncvs/src/lib/libc/sys/kqueue.2,v
retrieving revision 1.44
diff -u -p -r1.44 kqueue.2
--- lib/libc/sys/kqueue.2       17 Sep 2006 21:27:34 -0000      1.44
+++ lib/libc/sys/kqueue.2       17 Nov 2006 18:50:48 -0000
@@ -364,6 +364,8 @@ The events to monitor are:
 .Bl -tag -width XXNOTE_TRACKERR
 .It NOTE_EXIT
 The process has exited.
+The exit status will be stored in
+.Va data .
 .It NOTE_FORK
 The process has called
 .Fn fork .
Index: sys/kern/kern_event.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/kern_event.c,v
retrieving revision 1.106
diff -u -p -r1.106 kern_event.c
--- sys/kern/kern_event.c       25 Sep 2006 01:29:48 -0000      1.106
+++ sys/kern/kern_event.c       17 Nov 2006 18:50:49 -0000
@@ -396,6 +396,7 @@ filt_proc(struct knote *kn, long hint)
                if (!(kn->kn_status & KN_DETACHED))
                        knlist_remove_inevent(&p->p_klist, kn);
                kn->kn_flags |= (EV_EOF | EV_ONESHOT);
+               kn->kn_data = kn->kn_ptr.p_proc->p_xstat;
                kn->kn_ptr.p_proc = NULL;
                return (1);
        }
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to