[parisc-linux] Re: pipes
Richard Hirst
rhirst@linuxcare.com
Thu, 22 Feb 2001 13:03:59 +0000
On Thu, Feb 22, 2001 at 11:27:14PM +1100, Alan Modra wrote:
> On Thu, 22 Feb 2001, Richard Hirst wrote:
>
> > Don't think so. The read is issued at 14:36:08, no data is available,
> > so 10 seconds later the alarm goes off, and read returns -512. Strace
> > completes that line of output and reports the SIGALRM.
>
> Ah, thanks for the clarification. So it comes back to data being mangled
> in the pipe or somesuch.
>
> Hmm, strace -f now works with your mods to the kernel, so now I can look
> at the other end.
>
> 131 22:37:47 write(5, "cd /scsi/tmp\nfile=sys/stat.h\nif ( test -r types/vxTypesOld.h ) > /dev/null 2>&1\nthen echo TRUE\nelse echo FALSE\nfi\n\necho\necho ShElL-OuTpUt-HaS-bEeN-cOmPlEtEd\n", 158 <unfinished ...>
> 132 22:37:47 read(0, "cd /scsi/tmp\nfile=sys/stat.h\nif ( test -r types/vxTypesOld.h ) > /dev/null 2>&1\nthen echo TRUE\nelse echo FALSE\nfi\n\necho\necho ShElL-OuTpUt-HaS-bEeN-cOmPlEtEUUUU\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\367\4\0\0\0\0\0PUU\0\0\0\0\0\0"..., 156) = 558544
> 132 22:37:47 chdir("/scsi/tmp") = 0
>
> Bingo. Look at that read.
Nice one! I wonder if that <unfinished ...> is significant. You can
tell strace to write each processes trace to a seperate file, which
might show if that write is really blocked or it is just straces way of
handling output, and you can use -tt to get finer grained timestamping.
How do I reproduce this? Is it as simple as cd <somewhere in a gcc
build tree> && ./fixincludes, or is it more complex?
Richard