diff options
author | Pekka Enberg <penberg@kernel.org> | 2011-01-22 19:27:59 +0000 |
---|---|---|
committer | Pekka Enberg <penberg@kernel.org> | 2011-01-22 19:27:59 +0000 |
commit | aefd4df2e37bcda279b1f944208b0785c2807cd4 (patch) | |
tree | d117fff44ed6a72493b6933456de0ee018cf69c5 | |
parent | 13d05c78647ef48069320716c4d52aa06ff9f83d (diff) | |
download | classpath-aefd4df2e37bcda279b1f944208b0785c2807cd4.tar.gz |
Fix clock_gettime() fallback
As suggested by Ivan Maidanski:
The clock_gettime(CLOCK_MONOTONIC) function may fail on some machines (even
if _POSIX_MONOTONIC_CLOCK has been defined during compilation), so it's
better to silently fall-back to gettimeofday() in that case.
Reviewed-by: Andrew Haley <aph@redhat.com>
2011-01-22 Pekka Enberg <penberg@kernel.org>
* native/jni/java-lang/java_lang_VMSystem.c
(Java_java_lang_VMSystem_nanoTime): Fallback to
gettimeofday() if clock_gettime(CLOCK_MONOTONIC) fails.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | native/jni/java-lang/java_lang_VMSystem.c | 4 |
2 files changed, 7 insertions, 3 deletions
@@ -1,6 +1,12 @@ 2011-01-22 Pekka Enberg <penberg@kernel.org> * native/jni/java-lang/java_lang_VMSystem.c + (Java_java_lang_VMSystem_nanoTime): Fallback to + gettimeofday() if clock_gettime(CLOCK_MONOTONIC) fails. + +2011-01-22 Pekka Enberg <penberg@kernel.org> + + * native/jni/java-lang/java_lang_VMSystem.c (currentTimeMillis): Rename currentTimeMillis to currentTimeMicros to reflect what the function returns. diff --git a/native/jni/java-lang/java_lang_VMSystem.c b/native/jni/java-lang/java_lang_VMSystem.c index 44f789fc0..047c2b394 100644 --- a/native/jni/java-lang/java_lang_VMSystem.c +++ b/native/jni/java-lang/java_lang_VMSystem.c @@ -146,9 +146,7 @@ Java_java_lang_VMSystem_nanoTime struct timespec tp; if (clock_gettime (CLOCK_MONOTONIC, &tp) == -1) { - char error[64]; - snprintf(error, 64, "clock_gettime call failed: %s.", strerror(errno)); - (*env)->FatalError (env, error); + return currentTimeMicros(env) * (jlong)1000; } result = (jlong) tp.tv_sec; |