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

Reply via email to