Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Aug 2008 20:42:30 GMT
From:      Ed Schouten <ed@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 148549 for review
Message-ID:  <200808262042.m7QKgUru010643@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=148549

Change 148549 by ed@ed_dull on 2008/08/26 20:42:16

	Prevent one unneeded tty_lock() inside ptsdev_write().

Affected files ...

.. //depot/projects/mpsafetty/sys/kern/tty_pts.c#14 edit

Differences ...

==== //depot/projects/mpsafetty/sys/kern/tty_pts.c#14 (text+ko) ====

@@ -162,14 +162,14 @@
 	size_t iblen, rintlen;
 	int error = 0;
 
-	tty_lock(tp);
+	if (uio->uio_resid == 0)
+		return (0);
 
-	while (uio->uio_resid > 0) {
-		/* Temporarily unlock to buffer new characters. */
-		tty_unlock(tp);
+	for (;;) {
 		ibstart = ib;
 		iblen = MIN(uio->uio_resid, sizeof ib);
 		error = uiomove(ib, iblen, uio);
+
 		tty_lock(tp);
 		if (error != 0)
 			goto done;
@@ -218,6 +218,10 @@
 			if (error != 0)
 				goto done;
 		}
+
+		if (uio->uio_resid == 0)
+			break;
+		tty_unlock(tp);
 	}
 
 done:	ttydisc_rint_done(tp);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808262042.m7QKgUru010643>