Pipes Again. (was: cmp (or echo) bug?) -- more correction
Houder
houder@xs4all.nl
Sun Jan 3 22:47:00 GMT 2016
On 2016-01-02 12:58, Houder wrote:
> Cygwin shows:
> @@ ./t_stat <(echo foo) <(echo bar)
> ... arg = /dev/fd/63
> File type: FIFO or pipe
> Device containing i-node: (c6) major=0 minor=198
> I-node number: 0 - decimal: 0
> ... arg = /dev/fd/62
> File type: FIFO or pipe
> Device containing i-node: (c6) major=0 minor=198
> I-node number: 0 - decimal: 0
> fd[0] = 3, fd[1] = 3
>
> And sometimes, especially in case close(fd[f]) is NOT present ...
>
> @@ ./t_stat <(echo foo) <(echo bar)
> ... arg = /dev/fd/63
> File type: FIFO or pipe
> Device containing i-node: (c6) major=0 minor=198
> I-node number: 0 - decimal: 0
> ... arg = /dev/fd/62
> File type: FIFO or pipe
> Device containing i-node: (c6) major=0 minor=198
> I-node number: 5c443bd7b7e540 - decimal: 25970721670292800
> fd[0] = 3, fd[1] = 4
>
> - Cygwin shows 198 for st_dev in case fstat() is used
> - Cygwin shows 199 for st_dev in case stat() is used
> - Cygwin shows 197 for st_dev in case fstat() is used and in case the
> command
> reads as follows:
> @@ ./t_stat >(cat > a) >(cat > b) # yes, the opposite case - had to try
>
> - Cygwin nearly always shows ZERO for both st_ino-s (same call);
> however, if
> one of the st_ino-s is NOT zero, Cygwin always shows the same value:
> I-node number: 5c443bd7b7e540 - decimal: 25970721670292800
Should be read:
- Cygwin nearly always shows ZERO ... etc., etc. in case of fstat()
!!!!!
- Cygwin always shows different values for both st_ino-s (same call) in
case of
stat(); values that are different from the ones in subsequent calls
Sorry,
Henri
> Bottom-line:
>
> - instrumenting cmp with the same "diagnostics", yields the same
> result
> - cmp fails on Cygwin, because Cygwin returns both st_ino-s as equal
> (zero).
>
> My reason for posting this, is to help others in case they stumble over
> this
> weird behaviour of Cygwin.
=====
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list