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>