summaryrefslogtreecommitdiffstats
path: root/libjava/posix-threads.cc
diff options
context:
space:
mode:
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>1999-06-14 17:20:35 +0000
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>1999-06-14 17:20:35 +0000
commitcb3e27868ee4d4f048a21019af328bd4d43bc6f8 (patch)
tree7b1441ff5919725010048028526b1eafa85f21c1 /libjava/posix-threads.cc
parent265dbe5d3f75b63bab85bbbb68bda6534e03e53b (diff)
downloadppe42-gcc-cb3e27868ee4d4f048a21019af328bd4d43bc6f8.tar.gz
ppe42-gcc-cb3e27868ee4d4f048a21019af328bd4d43bc6f8.zip
* posix-threads.cc (_Jv_CondWait): Fix currentTimeMillis() overflow.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27524 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/posix-threads.cc')
-rw-r--r--libjava/posix-threads.cc11
1 files changed, 5 insertions, 6 deletions
diff --git a/libjava/posix-threads.cc b/libjava/posix-threads.cc
index 436588aee32..825b0206c19 100644
--- a/libjava/posix-threads.cc
+++ b/libjava/posix-threads.cc
@@ -85,12 +85,11 @@ _Jv_CondWait (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu,
r = pthread_cond_wait (cv, pmu);
else
{
- struct timespec ts;
- unsigned long m = millis + java::lang::System::currentTimeMillis ();
-
- ts.tv_sec = m / 1000;
- ts.tv_nsec = (m % 1000) * 1000 * 1000 + nanos;
-
+ struct timespec ts;
+ jlong m = millis + java::lang::System::currentTimeMillis ();
+ ts.tv_sec = m / 1000;
+ ts.tv_nsec = ((m % 1000) * 1000000) + nanos;
+
r = pthread_cond_timedwait (cv, pmu, &ts);
}
return r;
OpenPOWER on IntegriCloud