Graham Leggett
Tue, 09 Mar 2010 02:26:39 -0800
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 withother 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 --