| 1502 | } |
| 1503 | |
| 1504 | void |
| 1505 | tty_signal_pgrp(struct tty *tp, int sig) |
| 1506 | { |
| 1507 | ksiginfo_t ksi; |
| 1508 | |
| 1509 | tty_assert_locked(tp); |
| 1510 | MPASS(sig >= 1 && sig < NSIG); |
| 1511 | |
| 1512 | /* Make signals start output again. */ |
| 1513 | tp->t_flags &= ~TF_STOPPED; |
| 1514 | tp->t_termios.c_lflag &= ~FLUSHO; |
| 1515 | |
| 1516 | if (sig == SIGINFO && !(tp->t_termios.c_lflag & NOKERNINFO)) |
| 1517 | tty_info(tp); |
| 1518 | if (tp->t_pgrp != NULL) { |
| 1519 | ksiginfo_init(&ksi); |
| 1520 | ksi.ksi_signo = sig; |
| 1521 | ksi.ksi_code = SI_KERNEL; |
| 1522 | PGRP_LOCK(tp->t_pgrp); |
| 1523 | pgsignal(tp->t_pgrp, sig, 1, &ksi); |
| 1524 | PGRP_UNLOCK(tp->t_pgrp); |
| 1525 | } |
| 1526 | } |
| 1527 | |
| 1528 | void |
| 1529 | tty_wakeup(struct tty *tp, int flags) |
no test coverage detected