mirror of
https://github.com/boostorg/config.git
synced 2025-08-01 05:14:28 +02:00
Update thread tests: allow thread creation to fail at runtime.
[SVN r44534]
This commit is contained in:
@@ -25,19 +25,29 @@ int test()
|
|||||||
int result = pthread_mutex_init(&mut, 0);
|
int result = pthread_mutex_init(&mut, 0);
|
||||||
if(0 == result)
|
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_lock(&mut);
|
||||||
result |= pthread_mutex_unlock(&mut);
|
result |= pthread_mutex_unlock(&mut);
|
||||||
result |= pthread_mutex_trylock(&mut);
|
result |= pthread_mutex_trylock(&mut);
|
||||||
result |= pthread_mutex_unlock(&mut);
|
result |= pthread_mutex_unlock(&mut);
|
||||||
result |= pthread_mutex_destroy(&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;
|
pthread_t t;
|
||||||
int r = pthread_create(&t, 0, &thread_proc, 0);
|
int r = pthread_create(&t, 0, &thread_proc, 0);
|
||||||
result |= r;
|
// result |= r;
|
||||||
if(r == 0)
|
if(r == 0)
|
||||||
{
|
{
|
||||||
|
//
|
||||||
|
// If we can create a thread, then we must be able to join to it:
|
||||||
|
//
|
||||||
void* arg;
|
void* arg;
|
||||||
r = pthread_join(t, &arg);
|
r = pthread_join(t, &arg);
|
||||||
result |= r;
|
result |= r;
|
||||||
|
Reference in New Issue
Block a user