added a new check for pthread_mutex_timedlock() into configure.ac
This commit is contained in:
parent
dc53a74542
commit
70f8765ada
46
qse/configure
vendored
46
qse/configure
vendored
@ -19902,6 +19902,52 @@ fi
|
|||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_mutex_timedlock in -lpthread" >&5
|
||||||
|
$as_echo_n "checking for pthread_mutex_timedlock in -lpthread... " >&6; }
|
||||||
|
if ${ac_cv_lib_pthread_pthread_mutex_timedlock+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
ac_check_lib_save_LIBS=$LIBS
|
||||||
|
LIBS="-lpthread $LIBS"
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
|
||||||
|
/* Override any GCC internal prototype to avoid an error.
|
||||||
|
Use char because int might match the return type of a GCC
|
||||||
|
builtin and then its argument prototype would still apply. */
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
#endif
|
||||||
|
char pthread_mutex_timedlock ();
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
return pthread_mutex_timedlock ();
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
|
ac_cv_lib_pthread_pthread_mutex_timedlock=yes
|
||||||
|
else
|
||||||
|
ac_cv_lib_pthread_pthread_mutex_timedlock=no
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
|
LIBS=$ac_check_lib_save_LIBS
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_mutex_timedlock" >&5
|
||||||
|
$as_echo "$ac_cv_lib_pthread_pthread_mutex_timedlock" >&6; }
|
||||||
|
if test "x$ac_cv_lib_pthread_pthread_mutex_timedlock" = xyes; then :
|
||||||
|
|
||||||
|
|
||||||
|
$as_echo "#define HAVE_PTHREAD_MUTEX_TIMEDLOCK 1" >>confdefs.h
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lunicows" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lunicows" >&5
|
||||||
$as_echo_n "checking for main in -lunicows... " >&6; }
|
$as_echo_n "checking for main in -lunicows... " >&6; }
|
||||||
if ${ac_cv_lib_unicows_main+:} false; then :
|
if ${ac_cv_lib_unicows_main+:} false; then :
|
||||||
|
@ -255,6 +255,11 @@ fi
|
|||||||
|
|
||||||
AC_CHECK_FUNCS([kqueue kqueue1 kevent])
|
AC_CHECK_FUNCS([kqueue kqueue1 kevent])
|
||||||
|
|
||||||
|
|
||||||
|
AC_CHECK_LIB([pthread], [pthread_mutex_timedlock], [
|
||||||
|
AC_DEFINE([HAVE_PTHREAD_MUTEX_TIMEDLOCK],1,[pthreads has pthread_mutex_timedlock()])
|
||||||
|
])
|
||||||
|
|
||||||
dnl check is the import library for unicows.dll exists
|
dnl check is the import library for unicows.dll exists
|
||||||
dnl this check doesn't look for a particular symbol
|
dnl this check doesn't look for a particular symbol
|
||||||
dnl but for the symbol 'main' since i want to check
|
dnl but for the symbol 'main' since i want to check
|
||||||
|
@ -467,6 +467,9 @@
|
|||||||
/* Define if you have POSIX threads libraries and header files. */
|
/* Define if you have POSIX threads libraries and header files. */
|
||||||
#undef HAVE_PTHREAD
|
#undef HAVE_PTHREAD
|
||||||
|
|
||||||
|
/* pthreads has pthread_mutex_timedlock() */
|
||||||
|
#undef HAVE_PTHREAD_MUTEX_TIMEDLOCK
|
||||||
|
|
||||||
/* Have PTHREAD_PRIO_INHERIT. */
|
/* Have PTHREAD_PRIO_INHERIT. */
|
||||||
#undef HAVE_PTHREAD_PRIO_INHERIT
|
#undef HAVE_PTHREAD_PRIO_INHERIT
|
||||||
|
|
||||||
|
@ -212,6 +212,9 @@ int qse_mtx_lock (qse_mtx_t* mtx, const qse_ntime_t* waiting_time)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
/* if pthread_mutex_timedlock() isn't available, don't honor the waiting time. */
|
||||||
|
#if defined(HAVE_PTHREAD_MUTEX_TIMEDLOCK)
|
||||||
if (waiting_time)
|
if (waiting_time)
|
||||||
{
|
{
|
||||||
qse_ntime_t t;
|
qse_ntime_t t;
|
||||||
@ -226,8 +229,12 @@ int qse_mtx_lock (qse_mtx_t* mtx, const qse_ntime_t* waiting_time)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
#endif
|
||||||
if (pthread_mutex_lock ((pthread_mutex_t*)&mtx->hnd) != 0) return -1;
|
if (pthread_mutex_lock ((pthread_mutex_t*)&mtx->hnd) != 0) return -1;
|
||||||
|
|
||||||
|
#if defined(HAVE_PTHREAD_MUTEX_TIMEDLOCK)
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user