VMIN/VTIME and read expectations

Joel Sherrill joel.sherrill@oarcorp.com
Thu Dec 17 22:30:00 GMT 2009


Hi,

I have been looking into a program on RTEMS that
uses VMIN=0, VTIME=255. The program calls
fgetc() which calls read().

fp->_flags == 0x2806 before the fgetc() call.
read() times out and returns 0.
fgetc() returns -1 and fp->_flags == 0x2826


The 0x0020 being set is _SEOF.

My questions are:

+ Is this correct behaviour?

+ How does the application programmer distinguish
between a real EOF and an unsatisfied read?  Even the
Fedora read(2) man page says:

        On success, the number of bytes read is returned (zero indicates 
end of
        file), and the file position is advanced by this number.

So even if I dropped down to read(2), I still don't know
how to distinguish EOF from a read timeout.

Thanks.

-- 
Joel Sherrill, Ph.D.             Director of Research&  Development
joel.sherrill@OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
    Support Available             (256) 722-9985




More information about the Newlib mailing list