diff --git a/test/boost_has_pthreads.ipp b/test/boost_has_pthreads.ipp index 6c4413ab..eeeff65f 100644 --- a/test/boost_has_pthreads.ipp +++ b/test/boost_has_pthreads.ipp @@ -25,19 +25,29 @@ int test() int result = pthread_mutex_init(&mut, 0); if(0 == result) { + // + // Failure to be able to create and use a mutex + // is always a failure, even if the pthread + // library is just a non-functioning stub. + // result |= pthread_mutex_lock(&mut); result |= pthread_mutex_unlock(&mut); result |= pthread_mutex_trylock(&mut); result |= pthread_mutex_unlock(&mut); result |= pthread_mutex_destroy(&mut); // - // Check that we can actually create a thread: + // Try and create a thread, this is allowed + // to fail, in case we are linking to a pthread + // "stub" library. // pthread_t t; int r = pthread_create(&t, 0, &thread_proc, 0); - result |= r; + // result |= r; if(r == 0) { + // + // If we can create a thread, then we must be able to join to it: + // void* arg; r = pthread_join(t, &arg); result |= r;