Michal, did anyone ever filed a bug against Linux's FIFO/PIPE implementations to support I_PEEK? As far as I can check all SystemV derivatives (including Solaris), AIX and HP/UX support I_PEEK on pipes and fifos.
Just Linux does not. Irek ---------- Forwarded message ---------- From: Lionel Cons <[email protected]> Date: Thu, May 31, 2012 at 10:38 PM Subject: Re: [ast-users] ksh: command pipe -- connection reset To: "Nemeth, Michael Kenneth (Mike)" <[email protected]> Cc: "[email protected]" <[email protected]> On 31 May 2012 21:48, Nemeth, Michael Kenneth (Mike) <[email protected]> wrote: > > Hello, > > > > We are using ksh93u (2011-02-08) source compiled on rhel5.0 and we are > experiencing intermittent connect reset errors with typical unix command > pipelines. > > > > Example: > > > > min=`grep -v "^#" $infile | head -1 | nawk '{printf("%.3f\n",$3)}'` > > > > will produce error: > > > > grep: writing output: Connection reset by peer > > > > I reviewed all ast-user, ast-developers archives, and other forums I have > come to the following topics: > > > > bug#9089: [1003.1(2008)/Issue 7 0000205]: Shell pipeline connection > requirement too vague > > > > http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00090.html > > http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00089.html > > > > Is there a solution to this issue? Yes, get the Linux kernel to support I_PEEK on pipes and fifos like Solaris does. AFAIK sockets are used because pipes on Linux do not support I_PEEK, and without I_PEEK the shell would have to read the streams byte by byte, i.e. one syscall per byte. Solaris allows I_PEEK on pipes, fifos and sockets and gets a huge performance benefit from that. Lionel _______________________________________________ ast-users mailing list [email protected] https://mailman.research.att.com/mailman/listinfo/ast-users -- Irek _______________________________________________ ast-developers mailing list [email protected] https://mailman.research.att.com/mailman/listinfo/ast-developers
