/* pthread test function */
pthread_t t;
int status;
+#if HAVE_PTHREADS_FINAL && defined(PTHREAD_CREATE_UNDETACHED)
+ /* This system (e.g. AIX) defaults detached; must override */
+ pthread_attr_t attr;
- /* make sure pthread_create() isn't just a stub */
+ status = pthread_attr_init(&attr);
+ if( status ) exit( status );
+
+ status = pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_UNDETACHED);
+ if( status ) exit( status );
+
+#define ATTR &attr
+#else
#if HAVE_PTHREADS_D4
- status = pthread_create(&t, pthread_attr_default, task, NULL);
+#define ATTR pthread_attr_default
#else
- status = pthread_create(&t, NULL, task, NULL);
+#define ATTR NULL
#endif
-
+#endif
+ /* make sure pthread_create() isn't just a stub */
+ status = pthread_create(&t, ATTR, task, NULL);
if( status ) exit( status );
/* make sure pthread_detach() isn't just a stub */
dnl Check for NT Threads
AC_DEFUN([OL_NT_THREADS], [
AC_CACHE_CHECK([for NT Threads], [ol_cv_nt_threads], [
- # bogus test
- if test $ac_cv_mingw32 = yes ; then
- ol_cv_nt_threads=yes
- else
- ol_cv_nt_threads=no
- fi
+ AC_CHECK_FUNC(_beginthread,
+ [ol_cv_nt_threads=yes],
+ [ol_cv_nt_threads=no])
])
if test $ol_cv_nt_threads = yes ; then