aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog7
-rw-r--r--libjava/posix-threads.cc11
2 files changed, 11 insertions, 7 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 5fa114912df..42bec98ff0e 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,8 +1,13 @@
+1999-06-14 Bryce McKinlay <bryce@albatross.co.nz>
+
+ * posix-threads.cc (_Jv_CondWait): Fix currentTimeMillis() overflow.
+
1999-06-11 Warren Levy <warrenl@cygnus.com>
* mauve-libgcj: Activated java.net Mauve tests.
1999-06-10 Bryce McKinlay <bryce@albatross.co.nz>
+
* java/net/natInetAddress.cc (aton): Fix typos.
(lookup): Use a bigger buffer size for gethostbyname_r on all
versions of glibc. Updated FIXME comment explaining this.
@@ -22,7 +27,7 @@
* java/text/DecimalFormat.java: Throw IllegalArgumentException
throughout rather than ParseException.
-1999-06-09 Bryce McKinlay <bryce@albatross.co.nz>
+1999-06-09 Bryce McKinlay <bryce@albatross.co.nz>
* java/lang/Runtime.java (exec): Convert prog name and arguments
to string array.
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;