You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mt...@apache.org on 2009/10/01 18:04:33 UTC
svn commit: r820699 - in /commons/sandbox/runtime/trunk/src/main/native/os:
unix/fsysio.c win32/fsysio.c
Author: mturk
Date: Thu Oct 1 16:04:33 2009
New Revision: 820699
URL: http://svn.apache.org/viewvc?rev=820699&view=rev
Log:
Use common timeout calculation
Modified:
commons/sandbox/runtime/trunk/src/main/native/os/unix/fsysio.c
commons/sandbox/runtime/trunk/src/main/native/os/win32/fsysio.c
Modified: commons/sandbox/runtime/trunk/src/main/native/os/unix/fsysio.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/unix/fsysio.c?rev=820699&r1=820698&r2=820699&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/unix/fsysio.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/unix/fsysio.c Thu Oct 1 16:04:33 2009
@@ -262,7 +262,7 @@
static int wait_for_io_or_timeout(acr_file_t *f, int for_read)
{
- int rc, timeout = (int)(f->timeout / 1000);
+ int rc, timeout = f->timeout < 0 ? -1 : (int)(f->timeout / 1000);
f->ppoll.fd = f->fd;
f->ppoll.events = for_read ? POLLIN : POLLOUT;
@@ -279,7 +279,7 @@
static int wait_for_io(acr_file_t *f, int for_read)
{
- int rc, timeout = f->timeout ? (int)(f->timeout / 1000) : -1;
+ int rc, timeout = f->timeout > 0 ? (int)(f->timeout / 1000) : -1;;
f->ppoll.fd = f->fd;
f->ppoll.events = for_read ? POLLIN : POLLOUT;
Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/fsysio.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/fsysio.c?rev=820699&r1=820698&r2=820699&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/fsysio.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/fsysio.c Thu Oct 1 16:04:33 2009
@@ -556,12 +556,7 @@
{
DWORD ws;
DWORD rc = 0;
- DWORD tv = 0;
-
- if (f->timeout > 0)
- tv = (DWORD)(f->timeout / 1000);
- else if (f->timeout == -1)
- tv = INFINITE;
+ DWORD tv = f->timeout < 0 ? INFINITE : (DWORD)(f->timeout / 1000);
do {
switch (ws = ACR_WaitForObjectOrSignal(f->overlap.hEvent, tv)) {
@@ -615,8 +610,10 @@
{
DWORD ws;
DWORD rc = 0;
- DWORD tv = INFINITE;
+ DWORD tv = f->timeout > 0 ? (DWORD)(f->timeout / 1000) : INFINITE;
+ if (f->timeout > 0)
+ tv = (DWORD)(f->timeout / 1000);
do {
switch (ws = ACR_WaitForObjectOrSignal(f->overlap.hEvent, tv)) {
case WAIT_IO_COMPLETION:
@@ -1899,7 +1896,7 @@
break;
case ERROR_INVALID_HANDLE:
ACR_THROW_EX_IF_ERR(ACR_EX_ACLOSED_DESC, rc);
- break;
+ break;
default:
ACR_THROW_IO_IF_ERR(f->err);
break;