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
--

Reply via email to