From 8eeda6e0e760b631414f9272beedfb6c007c5ad4 Mon Sep 17 00:00:00 2001 From: Adam Megacz Date: Fri, 8 Mar 2002 01:03:56 +0000 Subject: [PATCH] win32.cc (_Jv_platform_gettimeofday): Now takes no args, returns jlong. 2002-03-07 Adam Megacz * win32.cc (_Jv_platform_gettimeofday): Now takes no args, returns jlong. Added implementation * posix.cc (_Jv_platform_gettimeofday): Now takes no args, returns jlong. * win32.h (_Jv_platform_gettimeofday): Now takes no args, returns jlong. * posix.h (_Jv_platform_gettimeofday): Now takes no args, returns jlong. * java/lang/natSystem.cc (currentTimeMillis): Now uses updated _Jv_platform_gettimeofday signature. From-SVN: r50416 --- libjava/ChangeLog | 13 +++++++++++++ libjava/include/posix.h | 9 ++++++++- libjava/include/win32.h | 3 ++- libjava/java/lang/natSystem.cc | 4 +--- libjava/posix.cc | 20 +++++++++----------- libjava/win32.cc | 10 ++++++---- 6 files changed, 39 insertions(+), 20 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index ef0022ec32b..7c125415ca9 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,16 @@ +2002-03-07 Adam Megacz + + * win32.cc (_Jv_platform_gettimeofday): Now takes no args, + returns jlong. Added implementation + * posix.cc (_Jv_platform_gettimeofday): Now takes no args, + returns jlong. + * win32.h (_Jv_platform_gettimeofday): Now takes no args, + returns jlong. + * posix.h (_Jv_platform_gettimeofday): Now takes no args, + returns jlong. + * java/lang/natSystem.cc (currentTimeMillis): Now uses updated + _Jv_platform_gettimeofday signature. + 2002-03-07 Bryce McKinlay * java/net/natPlainSocketImpl.cc (_Jv_recv): Removed. diff --git a/libjava/include/posix.h b/libjava/include/posix.h index bbfb0b244e7..f96507405de 100644 --- a/libjava/include/posix.h +++ b/libjava/include/posix.h @@ -28,6 +28,13 @@ details. */ #include #endif +#include + extern int _Jv_select (int n, fd_set *, fd_set *, fd_set *, struct timeval *); -extern void _Jv_platform_gettimeofday (struct timeval *); +extern jlong _Jv_platform_gettimeofday (); extern void _Jv_platform_initialize (void); + + + + + diff --git a/libjava/include/win32.h b/libjava/include/win32.h index 15b9ffcc7b1..c2ecbff1ff2 100644 --- a/libjava/include/win32.h +++ b/libjava/include/win32.h @@ -16,8 +16,9 @@ details. */ #undef __INSIDE_CYGWIN__ #include +#include extern void _Jv_platform_initialize (void); -extern void _Jv_platform_gettimeofday (struct timeval *); +extern jlong _Jv_platform_gettimeofday (); #endif /* __JV_WIN32_H__ */ diff --git a/libjava/java/lang/natSystem.cc b/libjava/java/lang/natSystem.cc index c87168d98f8..e8c0572a68d 100644 --- a/libjava/java/lang/natSystem.cc +++ b/libjava/java/lang/natSystem.cc @@ -158,9 +158,7 @@ java::lang::System::arraycopy (jobject src, jint src_offset, jlong java::lang::System::currentTimeMillis (void) { - struct timeval tv; - _Jv_platform_gettimeofday (&tv); - return (jlong) tv.tv_sec * 1000 + tv.tv_usec / 1000; + return _Jv_platform_gettimeofday (); } jint diff --git a/libjava/posix.cc b/libjava/posix.cc index 66443d21e11..56241d241d1 100644 --- a/libjava/posix.cc +++ b/libjava/posix.cc @@ -24,27 +24,25 @@ extern "C" unsigned long long _clock (void); #endif // gettimeofday implementation. -void -_Jv_platform_gettimeofday (struct timeval *tv) +jlong +_Jv_platform_gettimeofday () { #if defined (HAVE_GETTIMEOFDAY) - gettimeofday (tv, NULL); + timeval tv; + gettimeofday (&tv, NULL); + return tv.tv_sec * 1000 + tv.tv_usec / 1000; #elif defined (HAVE_TIME) - tv->tv_sec = time (NULL); - tv->tv_usec = 0; + return time (NULL) * 1000; #elif defined (HAVE_FTIME) struct timeb t; ftime (&t); - tv->tv_sec = t.time; - tv->tv_usec = t.millitm * 1000; + return t.time * 1000 + t.millitm; #elif defined (ECOS) // FIXME. - tv->tv_sec = _clock () / 1000; - tv->tv_usec = 0; + return _clock(); #else // In the absence of any function, time remains forever fixed. - tv->tv_sec = 23; - tv->tv_usec = 0; + return 23000; #endif } diff --git a/libjava/win32.cc b/libjava/win32.cc index f425462523d..a019cb75806 100644 --- a/libjava/win32.cc +++ b/libjava/win32.cc @@ -10,6 +10,7 @@ details. */ #include #include +#include #include "platform.h" #include @@ -39,10 +40,11 @@ _Jv_platform_initialize (void) } // gettimeofday implementation. -void -_Jv_platform_gettimeofday (struct timeval *tv) +jlong +_Jv_platform_gettimeofday () { - // FIXME - return; + struct timeb t; + ftime (&t); + return t.time * 1000 + t.millitm; }