diff options
author | pquerna <pquerna@13f79535-47bb-0310-9956-ffa450edef68> | 2007-03-01 07:13:54 +0000 |
---|---|---|
committer | pquerna <pquerna@13f79535-47bb-0310-9956-ffa450edef68> | 2007-03-01 07:13:54 +0000 |
commit | 47a58a4e2316ec31dee3dce8b766300b0e7c8b0c (patch) | |
tree | 516209dc89c9c1e8e50c40fc068262bd4bd01c3f /file_io/os2 | |
parent | f7d28f45e0ad7488a0c508eba0f72a8c1ce5efd9 (diff) | |
download | libapr-47a58a4e2316ec31dee3dce8b766300b0e7c8b0c.tar.gz |
Only try to flush when the file is in buffered mode, inside apr_file_writev.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@513205 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'file_io/os2')
-rw-r--r-- | file_io/os2/readwrite.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/file_io/os2/readwrite.c b/file_io/os2/readwrite.c index 354641abb..d680dcc1c 100644 --- a/file_io/os2/readwrite.c +++ b/file_io/os2/readwrite.c @@ -197,13 +197,15 @@ APR_DECLARE(apr_status_t) apr_file_write(apr_file_t *thefile, const void *buf, a APR_DECLARE(apr_status_t) apr_file_writev(apr_file_t *thefile, const struct iovec *vec, apr_size_t nvec, apr_size_t *nbytes) { - apr_status_t rv = apr_file_flush(thefile); + int bytes; - if (rv != APR_SUCCESS) { - return rv; + if (thefile->buffered) { + apr_status_t rv = apr_file_flush(thefile); + if (rv != APR_SUCCESS) { + return rv; + } } - int bytes; if ((bytes = writev(thefile->filedes, vec, nvec)) < 0) { *nbytes = 0; return errno; |