summaryrefslogtreecommitdiff
path: root/ace/OS.i
diff options
context:
space:
mode:
Diffstat (limited to 'ace/OS.i')
-rw-r--r--ace/OS.i8
1 files changed, 5 insertions, 3 deletions
diff --git a/ace/OS.i b/ace/OS.i
index 94a380367ef..7ee7dcb96ba 100644
--- a/ace/OS.i
+++ b/ace/OS.i
@@ -4486,14 +4486,16 @@ ACE_OS::event_timedwait (ACE_event_t *event,
{
event->waiting_threads_++;
+ ACE_Time_Value absolute_timeout = *timeout;
+
// cond_timewait() expects absolute time, check
// <use_absolute_time> flag.
- if (use_absolute_time == 0 && timeout != 0)
- *timeout += ACE_OS::gettimeofday ();
+ if (use_absolute_time == 0)
+ absolute_timeout += ACE_OS::gettimeofday ();
if (ACE_OS::cond_timedwait (&event->condition_,
&event->lock_,
- timeout) != 0)
+ &absolute_timeout) != 0)
{
result = -1;
error = errno;