+ q->p_flag |= SDETACH;
+ wakeup((caddr_t)&proc[1]);
+ /*
+ * Traced processes are killed
+ * since their existence means someone is screwing up.
+ * Traced processes are sent a hangup and a continue.
+ * This is designed to be ``safe'' for setuid
+ * processes since they must be willing to tolerate
+ * hangups anyways.
+ */
+ if (q->p_flag&STRC) {
+ q->p_flag &= ~STRC;
+ psignal(q, SIGKILL);
+ } else if (q->p_stat == SSTOP) {
+ psignal(q, SIGHUP);
+ psignal(q, SIGCONT);
+ }
+ /*
+ * Protect this process from future
+ * tty signals, and clear TSTP/TTIN/TTOU if pending.
+ */
+ spgrp(q, -1);