Mercurial > hg > octave-shane > gnulib-hg
view m4/javaexec.m4 @ 16869:38e6d30d7e4d
poll/select: prevent busy-waiting
2012-05-21 Paolo Bonzini <bonzini@gnu.org>
poll/select: prevent busy-waiting. SwitchToThread() only gives away
the rest of the current time slice to another thread in the current
process. So if the thread that feeds the file decscriptor we're
polling is not in the current process, we get busy-waiting.
* lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
Patch from Theodore Leblond.
* lib/select.c: Split polling out of the loop that sets the output
fd_sets. Check for zero result and loop if the wait timeout is
infinite.
author | Paolo Bonzini <bonzini@gnu.org> |
---|---|
date | Mon, 21 May 2012 09:52:42 +0200 |
parents | 8250f2777afc |
children | e542fd46ad6f |
line wrap: on
line source
# javaexec.m4 serial 5 dnl Copyright (C) 2001-2003, 2006, 2009-2012 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Prerequisites of javaexec.sh. # gt_JAVAEXEC or gt_JAVAEXEC(testclass, its-directory) # Sets HAVE_JAVAEXEC to nonempty if javaexec.sh will work. AC_DEFUN([gt_JAVAEXEC], [ AC_MSG_CHECKING([for Java virtual machine]) AC_EGREP_CPP([yes], [ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ yes #endif ], CLASSPATH_SEPARATOR=';', CLASSPATH_SEPARATOR=':') CONF_JAVA= HAVE_JAVA_ENVVAR= HAVE_GIJ= HAVE_JAVA= HAVE_JRE= HAVE_JVIEW= HAVE_JAVAEXEC=1 if test -n "$JAVA"; then HAVE_JAVA_ENVVAR=1 CONF_JAVA="$JAVA" else pushdef([AC_MSG_CHECKING],[:])dnl pushdef([AC_CHECKING],[:])dnl pushdef([AC_MSG_RESULT],[:])dnl AC_CHECK_PROG([HAVE_GIJ_IN_PATH], [gij], [yes]) AC_CHECK_PROG([HAVE_JAVA_IN_PATH], [java], [yes]) AC_CHECK_PROG([HAVE_JRE_IN_PATH], [jre], [yes]) AC_CHECK_PROG([HAVE_JVIEW_IN_PATH], [jview], [yes]) popdef([AC_MSG_RESULT])dnl popdef([AC_CHECKING])dnl popdef([AC_MSG_CHECKING])dnl ifelse([$1], , , [ save_CLASSPATH="$CLASSPATH" CLASSPATH="$2"${CLASSPATH+"$CLASSPATH_SEPARATOR$CLASSPATH"} ]) export CLASSPATH if test -n "$HAVE_GIJ_IN_PATH" \ && gij --version >/dev/null 2>/dev/null \ ifelse([$1], , , [&& { echo "$as_me:__oline__: gij $1" >&AS_MESSAGE_LOG_FD gij $1 >&AS_MESSAGE_LOG_FD 2>&1 }]); then HAVE_GIJ=1 CONF_JAVA="gij" else if test -n "$HAVE_JAVA_IN_PATH" \ && java -version >/dev/null 2>/dev/null \ ifelse([$1], , , [&& { echo "$as_me:__oline__: gij $1" >&AS_MESSAGE_LOG_FD java $1 >&AS_MESSAGE_LOG_FD 2>&1 }]); then HAVE_JAVA=1 CONF_JAVA="java" else if test -n "$HAVE_JRE_IN_PATH" \ && (jre >/dev/null 2>/dev/null || test $? = 1) \ ifelse([$1], , , [&& { echo "$as_me:__oline__: gij $1" >&AS_MESSAGE_LOG_FD jre $1 >&AS_MESSAGE_LOG_FD 2>&1 }]); then HAVE_JRE=1 CONF_JAVA="jre" else if test -n "$HAVE_JVIEW_IN_PATH" \ && (jview -? >/dev/null 2>/dev/null || test $? = 1) \ ifelse([$1], , , [&& { echo "$as_me:__oline__: gij $1" >&AS_MESSAGE_LOG_FD jview $1 >&AS_MESSAGE_LOG_FD 2>&1 }]); then HAVE_JVIEW=1 CONF_JAVA="jview" else HAVE_JAVAEXEC= fi fi fi fi ifelse([$1], , , [ CLASSPATH="$save_CLASSPATH" ]) fi if test -n "$HAVE_JAVAEXEC"; then ac_result="$CONF_JAVA" else ac_result="no" fi AC_MSG_RESULT([$ac_result]) AC_SUBST([CONF_JAVA]) AC_SUBST([CLASSPATH]) AC_SUBST([CLASSPATH_SEPARATOR]) AC_SUBST([HAVE_JAVA_ENVVAR]) AC_SUBST([HAVE_GIJ]) AC_SUBST([HAVE_JAVA]) AC_SUBST([HAVE_JRE]) AC_SUBST([HAVE_JVIEW]) ])