From owner-svn-src-all@FreeBSD.ORG Thu Aug 2 03:01:45 2012 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 27D03106564A; Thu, 2 Aug 2012 03:01:45 +0000 (UTC) (envelope-from listlog2011@gmail.com) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id E0C518FC08; Thu, 2 Aug 2012 03:01:44 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q7231fX1051303; Thu, 2 Aug 2012 03:01:42 GMT (envelope-from listlog2011@gmail.com) Message-ID: <5019ED93.8060802@gmail.com> Date: Thu, 02 Aug 2012 11:01:39 +0800 From: David Xu User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:14.0) Gecko/20120713 Thunderbird/14.0 MIME-Version: 1.0 To: Bruce Evans References: <201207310548.q6V5mZHf091624@svn.freebsd.org> <50179581.9070805@gmail.com> <20120802051805.P3345@besplex.bde.org> In-Reply-To: <20120802051805.P3345@besplex.bde.org> Content-Type: multipart/mixed; boundary="------------050607040407000205060504" Cc: src-committers@FreeBSD.org, Giovanni Trematerra , svn-src-all@FreeBSD.org, Konstantin Belousov , davidxu@FreeBSD.org, svn-src-head@FreeBSD.org, bde@FreeBSD.org Subject: Re: svn commit: r238936 - in head/sys: fs/fifofs kern sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: davidxu@FreeBSD.org List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Aug 2012 03:01:45 -0000 This is a multi-part message in MIME format. --------------050607040407000205060504 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 2012/8/2 3:29, Bruce Evans wrote: > On Wed, 1 Aug 2012, Giovanni Trematerra wrote: > >> On Tue, Jul 31, 2012 at 10:21 AM, David Xu >> wrote: >>> ... >>> The old code broke some history semantic of FIFO pipe, you can try >>> the test >>> tool /usr/src/tools/regression/poll/pipepoll, try it before and >>> after my >>> commit, also compare the result with 8.3-STABLE, without this commit, >>> both sub-tests 6c and 6d failed. >> >> This is on Vanilla 9.0-RELEASE where new fifo implementation weren't >> backported >> >> FreeBSD bombay 9.0-RELEASE FreeBSD 9.0-RELEASE #3: Tue Dec 27 21:59:00 >> UTC 2011 >> root@build9x64.pcbsd.org:/usr/obj/builds/i386/pcbsd-build90/fbsd-source/9.0/sys/GENERIC >> i386 >> >> [gianni@bombay] /usr/src/tools/regression/poll#./pipepoll >> 1..20 >> not ok 17 FIFO state 6a: expected POLLHUP; got POLLIN | POLLHUP >> not ok 18 FIFO state 6b: poll result 0 expected 1. expected POLLHUP; >> got 0 >> not ok 19 FIFO state 6c: expected POLLHUP; got POLLIN | POLLHUP >> not ok 20 FIFO state 6d: expected POLLHUP; got POLLIN | POLLHUP >> >> As you can see, sub-tests 6c and 6d failed too on 9. So it's not a >> problem with >> new code though is irrelevant wrt the commit. > > The failure is very differnt. Failure to clear POLLIN in 6a, 6c and 6d > is a normal bug in FreeBSD. I have attached a patch to fix it, it should make the regression tool happy. Is it worth to commit ? --------------050607040407000205060504 Content-Type: text/plain; charset=gb18030; name="sys_pipe.disable_eof_pollin.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="sys_pipe.disable_eof_pollin.diff" Index: sys_pipe.c =================================================================== --- sys_pipe.c (revision 238936) +++ sys_pipe.c (working copy) @@ -1447,7 +1447,6 @@ if ((events & POLLINIGNEOF) == 0) { if (rpipe->pipe_state & PIPE_EOF) { - revents |= (events & (POLLIN | POLLRDNORM)); if (wpipe->pipe_present != PIPE_ACTIVE || (wpipe->pipe_state & PIPE_EOF)) revents |= POLLHUP; --------------050607040407000205060504--