]> git.sur5r.net Git - openldap/commitdiff
Make pthread test detect broke pthread join/detach behavior
authorKurt Zeilenga <kurt@openldap.org>
Thu, 15 Mar 2001 03:07:23 +0000 (03:07 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Thu, 15 Mar 2001 03:07:23 +0000 (03:07 +0000)
build/openldap.m4

index e6ce0d59dc69b629894e02d55957586ba124f867..89b3e0fd51e0bac0060c1639a4e62c2dd8683a8f 100644 (file)
@@ -619,18 +619,22 @@ AC_DEFUN([OL_PTHREAD_TEST_FUNCTION],[
        status = pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_UNDETACHED);
        if( status ) exit( status );
 
-#define        ATTR    &attr
+#      define  ATTR    &attr
+#elif defined( HAVE_PTHREADS_D4 )
+#      define  ATTR    pthread_attr_default
 #else
-#if HAVE_PTHREADS_D4
-#define        ATTR    pthread_attr_default
-#else
-#define        ATTR    NULL
-#endif
+#      define  ATTR    NULL
 #endif
+
        /* make sure pthread_create() isn't just a stub */
        status = pthread_create(&t, ATTR, task, NULL);
        if( status ) exit( status );
 
+       /* give the thread a chance to complete...
+     * it should remain joinable and hence detachable
+        */
+       sleep( 1 );
+
        /* make sure pthread_detach() isn't just a stub */
 #if HAVE_PTHREADS_D4
        status = pthread_detach( &t );