Protect call to pthread_condattr_setclock with define.

While here update pthread_attr_setstacksize test to use AC_LINK_IFELSE
and avoid an unused variable in glib/tests/thread.c.

https://bugzilla.gnome.org/show_bug.cgi?id=667790
This commit is contained in:
Patrick Welche 2012-01-12 15:38:15 +00:00 committed by Matthias Clasen
parent 6d9f874330
commit decac50c15
3 changed files with 19 additions and 7 deletions

View File

@ -2238,11 +2238,23 @@ if test x"$have_threads" = xposix; then
# This is not AC_CHECK_FUNC to also work with function # This is not AC_CHECK_FUNC to also work with function
# name mangling in header files. # name mangling in header files.
AC_MSG_CHECKING(for pthread_attr_setstacksize) AC_MSG_CHECKING(for pthread_attr_setstacksize)
AC_TRY_LINK([#include <pthread.h>], AC_LINK_IFELSE(
[pthread_attr_t t; pthread_attr_setstacksize(&t,0)], [AC_LANG_PROGRAM(
[AC_MSG_RESULT(yes) [#include <pthread.h>],
AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE,1,[Have function pthread_attr_setstacksize])], [pthread_attr_t t; pthread_attr_setstacksize(&t,0)])],
[AC_MSG_RESULT(no)]) [AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE,1,
[Have function pthread_attr_setstacksize])],
[AC_MSG_RESULT(no)])
AC_MSG_CHECKING(for pthread_condattr_setclock)
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[#include <pthread.h>],
[pthread_condattr_t a; pthread_condattr_setclock(&a,0)])],
[AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_PTHREAD_CONDATTR_SETCLOCK,1,
[Have function pthread_condattr_setclock])],
[AC_MSG_RESULT(no)])
CPPFLAGS="$glib_save_CPPFLAGS" CPPFLAGS="$glib_save_CPPFLAGS"
fi fi

View File

@ -636,7 +636,7 @@ g_cond_impl_new (void)
gint status; gint status;
pthread_condattr_init (&attr); pthread_condattr_init (&attr);
#ifdef CLOCK_MONOTONIC #if defined (HAVE_PTHREAD_CONDATTR_SETCLOCK) && defined (CLOCK_MONOTONIC)
pthread_condattr_setclock (&attr, CLOCK_MONOTONIC); pthread_condattr_setclock (&attr, CLOCK_MONOTONIC);
#endif #endif

View File

@ -167,9 +167,9 @@ test_thread5 (void)
static gpointer static gpointer
thread6_func (gpointer data) thread6_func (gpointer data)
{ {
#ifdef HAVE_SYS_PRCTL_H
const gchar name[16]; const gchar name[16];
#ifdef HAVE_SYS_PRCTL_H
prctl (PR_GET_NAME, name, 0, 0, 0, 0); prctl (PR_GET_NAME, name, 0, 0, 0, 0);
g_assert_cmpstr (name, ==, (gchar*)data); g_assert_cmpstr (name, ==, (gchar*)data);