Paul Eggert <[EMAIL PROTECTED]> writes:

> Buciuman Adrian <[EMAIL PROTECTED]> writes:
>
>> read(0, "1                               "..., 737280) = 36864
>> write(1, "1                               "..., 737280) = 737280
>> read(0, 0x4015a000, 737280)             = -1 EIO (Input/output error)
>
> Apparently the first "read" found the I/O error, and decided to return
> the bytes that it found.  The second "read" then reported the I/O error.
> I didn't expect this pattern; I thought the first "read" would fail.

That would mean that the kernel would need to discard what it already
sucessfully read, with no way to recover the data (it can't put it back
either).  There is no way to both return some data and report an error
with the same read call.

Andreas.

-- 
Andreas Schwab, SuSE Labs, [EMAIL PROTECTED]
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 N�rnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."


_______________________________________________
Bug-coreutils mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-coreutils

Reply via email to