View | Details | Raw Unified | Return to bug 255816 | Differences between
and this patch

Collapse All | Expand All

(-)b/sys/kern/tty.c (-1 / +3 lines)
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
	}

Return to bug 255816