Hi,
Maybe this is the solution ? IMHO there is a race window
open between the first tp->t_session test and the locking
of the proc tree.

Martin

+++ src/sys/kern/tty.c
--- src/sys/kern/tty.c

+                       sx_slock(&proctree_lock);
                        if (tp->t_session) {
-                               sx_slock(&proctree_lock);
                                if (tp->t_session->s_leader) {
                                        struct proc *p;

                                        p = tp->t_session->s_leader;
                                        PROC_LOCK(p);
                                        psignal(p, SIGHUP);
                                        PROC_UNLOCK(p);
                                }
-                               sx_sunlock(&proctree_lock);
                        }
+                       sx_sunlock(&proctree_lock);

_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to