fflush() on readonly files
David Schultz
das at FreeBSD.ORG
Thu Jun 10 02:14:04 GMT 2004
On Wed, Jun 09, 2004, Radim Kolar wrote:
> I have submitted pr http://www.freebsd.org/cgi/query-pr.cgi?pr=65402 with patch
> which makes fflush() on read only descriptors do not return error code.
>
> Reasons for this patch:
> 1 - Do not breaks ISO C standard
> 2 - Makes FreeBSD undefined behavior compatible with other operation systems
> 3 - Correct some programs depending on this
Are there any such programs?
> 4 - Makes fflush() and fsync() behavior identical - avoids programmer's confusion.
> 5 - If there are no data to flush() then flush operation (dummy) succeeds, not failed.
>
> Against this patch:
> Programs which rely upon fflush() not returning an error
> when passed a file which is opened read-only are broken,
> and should be fixed.
>
> Colin Percival
I don't see how that's an argument against it. Programs that call
fflush() on a read-only stream are broken either way.
> Are there any other reasons for non commiting it? I think that in this case
> pro > cons.
Well, I think all those other operating systems (Solaris, HP-UX,
Linux, etc.) are wrong in this case, but it would probably behoove
us to conform to the /de facto/ standard.
More information about the freebsd-arch
mailing list