PERFORCE change 148549 for review

Ed Schouten ed at FreeBSD.org
Tue Aug 26 20:42:31 UTC 2008


http://perforce.freebsd.org/chv.cgi?CH=148549

Change 148549 by ed at 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);


More information about the p4-projects mailing list