summaryrefslogtreecommitdiff
path: root/file_io
diff options
context:
space:
mode:
authorstoddard <stoddard@13f79535-47bb-0310-9956-ffa450edef68>2004-07-19 15:29:27 +0000
committerstoddard <stoddard@13f79535-47bb-0310-9956-ffa450edef68>2004-07-19 15:29:27 +0000
commit71a51ff53c5c821b76b805cfc2f551d98e457217 (patch)
treee491fa50681fb332566e0918e5af20a18d42488d /file_io
parent1e1d001f8da90f1527123118cefd8660409f04ac (diff)
downloadlibapr-71a51ff53c5c821b76b805cfc2f551d98e457217.tar.gz
Win32: Fix bug in tracking the file pointer in files opened for overlapped/xthread io
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/branches/APR_0_9_BRANCH@65282 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'file_io')
-rw-r--r--file_io/win32/seek.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/file_io/win32/seek.c b/file_io/win32/seek.c
index 61fe6264c..3ba03542f 100644
--- a/file_io/win32/seek.c
+++ b/file_io/win32/seek.c
@@ -83,7 +83,10 @@ APR_DECLARE(apr_status_t) apr_file_seek(apr_file_t *thefile, apr_seek_where_t wh
*offset = thefile->filePtr - thefile->dataRead + thefile->bufpos;
return rc;
}
- else if (thefile->pOverlapped) {
+ /* A file opened with APR_XTHREAD has been opened for overlapped i/o.
+ * APR must explicitly track the file pointer in this case.
+ */
+ else if (thefile->pOverlapped || thefile->flags & APR_XTHREAD) {
switch(where) {
case APR_SET:
thefile->filePtr = *offset;