posix.cc (internal_gettimeofday): New function.
authorTom Tromey <tromey@redhat.com>
Fri, 8 Mar 2002 16:31:28 +0000 (16:31 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Fri, 8 Mar 2002 16:31:28 +0000 (16:31 +0000)
* posix.cc (internal_gettimeofday): New function.
(_Jv_select): Use it.

From-SVN: r50442

libjava/ChangeLog
libjava/posix.cc

index 7483b4c4408f76ed5c387f43f0cb6d68d06f6a70..39a56566c458a481034f9247e81cbd116a6b34c8 100644 (file)
@@ -1,3 +1,8 @@
+2002-03-08  Tom Tromey  <tromey@redhat.com>
+
+       * posix.cc (internal_gettimeofday): New function.
+       (_Jv_select): Use it.
+
 2002-03-07  Adam Megacz  <adam@xwt.org>
 
         * java/net/natPlainSocketImpl.cc: Changed USE_WINSOCK to
index 56241d241d15e045150eb0841a6554a1ec89c023..f4b76962e35f61594632f039a2a927ed2e4848a7 100644 (file)
@@ -62,6 +62,18 @@ _Jv_platform_initialize (void)
 #endif
 }
 
+static inline void
+internal_gettimeofday (struct timeval *result)
+{
+#if defined (HAVE_GETTIMEOFDAY)
+  gettimeofday (result, NULL);
+#else
+  jlong val = _Jv_platform_gettimeofday ();
+  result->tv_sec = val / 1000;
+  result->tv_usec = (val % 1000) * 1000;
+#endif /* HAVE_GETTIMEOFDAY */
+}
+
 // A wrapper for select() which ignores EINTR.
 int
 _Jv_select (int n, fd_set *readfds, fd_set  *writefds,
@@ -72,7 +84,7 @@ _Jv_select (int n, fd_set *readfds, fd_set  *writefds,
   struct timeval end, delay;
   if (timeout)
     {
-      _Jv_platform_gettimeofday (&end);
+      internal_gettimeofday (&end);
       end.tv_usec += timeout->tv_usec;
       if (end.tv_usec >= 1000000)
        {
@@ -102,7 +114,7 @@ _Jv_select (int n, fd_set *readfds, fd_set  *writefds,
       struct timeval after;
       if (timeout)
        {
-         _Jv_platform_gettimeofday (&after);
+         internal_gettimeofday (&after);
          // Now compute new timeout argument.
          delay.tv_usec = end.tv_usec - after.tv_usec;
          delay.tv_sec = end.tv_sec - after.tv_sec;