re PR libgcj/8997 (spin() calls Thread.sleep)
2002-12-31 Tom Tromey <tromey@redhat.com> Ranjit Mathew <rmathew@hotmail.com> Fix for PR libgcj/8997: * java/lang/natObject.cc (spin): Use _Jv_platform_usleep. Include platform.h. * include/posix.h (_Jv_platform_usleep): New function. * include/win32.h (_Jv_platform_usleep): New function. Co-Authored-By: Ranjit Mathew <rmathew@hotmail.com> From-SVN: r60700
This commit is contained in:
@@ -60,6 +60,12 @@ _Jv_platform_close_on_exec (jint fd)
|
||||
::fcntl (fd, F_SETFD, FD_CLOEXEC);
|
||||
}
|
||||
|
||||
inline void
|
||||
_Jv_platform_usleep (unsigned long usecs)
|
||||
{
|
||||
usleep (usecs);
|
||||
}
|
||||
|
||||
#ifndef DISABLE_JAVA_NET
|
||||
|
||||
#ifndef HAVE_SOCKLEN_T
|
||||
|
||||
@@ -48,6 +48,19 @@ _Jv_platform_close_on_exec (jint)
|
||||
// Ignore.
|
||||
}
|
||||
|
||||
/* Suspends the execution of the current thread for the specified
|
||||
number of microseconds. Tries to emulate the behaviour of usleep()
|
||||
on UNIX and provides a granularity of 1 millisecond. */
|
||||
inline void
|
||||
_Jv_platform_usleep (unsigned long usecs)
|
||||
{
|
||||
if (usecs > 0UL)
|
||||
{
|
||||
unsigned long millis = ((usecs + 999UL) / 1000UL);
|
||||
Sleep (millis);
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef DISABLE_JAVA_NET
|
||||
|
||||
static inline int
|
||||
|
||||
Reference in New Issue
Block a user