On 08 Mar 2010, at 11:26 PM, Joe Orton wrote:
APR_FOPEN_LARGEFILE is intended to be (and is documented as)
"advisory"
rather than mandatory.
Exposing a NONBLOCK flag without attaching *any* semantics to it
w.r.t.
subsequent read/write calls seems completely wrong. If you want
platform-specific behaviour and don't care how badly it interacts with
other apr_file_* interfaces then use native open() and
apr_os_file_put()
to get the APR wrapper.
This makes no sense at all.
If I open a file using native open() setting flags appropriately, and
then use apr_os_file_put(), followed by apr_file_read and
apr_file_write, how is that in any way different to using
apr_file_open(), setting flags appropriately, and then follow with
apr_file_read and apr_file_write?
Are there specific semantics you are referring to, or are you just
assuming they are missing? In the case of read and write,
APR_STATUS_IS_EAGAIN already gives you the semantics you want. Or are
you referring to something else?
Regards,
Graham
--