From owner-freebsd-questions@FreeBSD.ORG Thu Dec 6 03:46:16 2012 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 85859914 for ; Thu, 6 Dec 2012 03:46:16 +0000 (UTC) (envelope-from davidxu@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 6A1D58FC08; Thu, 6 Dec 2012 03:46:16 +0000 (UTC) Received: from xyf.my.dom (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id qB63kFNZ090466; Thu, 6 Dec 2012 03:46:15 GMT (envelope-from davidxu@freebsd.org) Message-ID: <50C01518.5090705@freebsd.org> Date: Thu, 06 Dec 2012 11:46:32 +0800 From: David Xu User-Agent: Mozilla/5.0 (X11; FreeBSD i386; rv:14.0) Gecko/20120822 Thunderbird/14.0 MIME-Version: 1.0 To: Marco Steinbach Subject: Re: grep -Dskip doesn't skip FIFOs References: <50C010D0.3070205@freebsd.org> In-Reply-To: <50C010D0.3070205@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-questions@freebsd.org X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Dec 2012 03:46:16 -0000 On 2012/12/06 11:28, David Xu wrote: > On 2012/12/06 07:07, Marco Steinbach wrote: >> Hi there, >> >> grep(1) does not seem to skip FIFOs when told to. > > > > I think you need a patch to fix it, the bug is in ggrep, it tries to > open a FIFO before checking if it is a FIFO, then blocked. > > http://people.freebsd.org/~davidxu/patch/grep.c.diff > > _______________________________________________ > or the patch: http://people.freebsd.org/~davidxu/patch/grep.c.diff2 The patch opens file with O_NONBLOCK, then turns off O_NONBLOCK, and only checks if a file is a FIFO in reset() function.