Lines 525-531
static int
Link Here
|
525 |
ttydev_write(struct cdev *dev, struct uio *uio, int ioflag) |
525 |
ttydev_write(struct cdev *dev, struct uio *uio, int ioflag) |
526 |
{ |
526 |
{ |
527 |
struct tty *tp = dev->si_drv1; |
527 |
struct tty *tp = dev->si_drv1; |
528 |
int error; |
528 |
int defer, error; |
529 |
|
529 |
|
530 |
error = ttydev_enter(tp); |
530 |
error = ttydev_enter(tp); |
531 |
if (error) |
531 |
if (error) |
Lines 549-555
ttydev_write(struct cdev *dev, struct uio *uio, int ioflag)
Link Here
|
549 |
} |
549 |
} |
550 |
|
550 |
|
551 |
tp->t_flags |= TF_BUSY_OUT; |
551 |
tp->t_flags |= TF_BUSY_OUT; |
|
|
552 |
defer = sigdeferstop(SIGDEFERSTOP_EINTR); |
552 |
error = ttydisc_write(tp, uio, ioflag); |
553 |
error = ttydisc_write(tp, uio, ioflag); |
|
|
554 |
sigallowstop(defer); |
553 |
tp->t_flags &= ~TF_BUSY_OUT; |
555 |
tp->t_flags &= ~TF_BUSY_OUT; |
554 |
cv_signal(&tp->t_outserwait); |
556 |
cv_signal(&tp->t_outserwait); |
555 |
} |
557 |
} |