mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
7e625f7e85
Before this change, several tests did not detect early deadlocks because they used SIGALRM as the expected signal, and they ran for the full default TIMEOUT seconds. This commit adds a new delayed_exit function to the test skeleton, along with several error-checking wrappers to pthread functions. Additional error checking is introduced into several tests.
43 lines
595 B
C
43 lines
595 B
C
#include <pthread.h>
|
|
#include <signal.h>
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <unistd.h>
|
|
|
|
static int do_test (void);
|
|
|
|
#define TEST_FUNCTION do_test ()
|
|
#include "../test-skeleton.c"
|
|
|
|
static void *
|
|
tf (void *arg)
|
|
{
|
|
while (1)
|
|
sleep (100);
|
|
|
|
/* NOTREACHED */
|
|
return NULL;
|
|
}
|
|
|
|
|
|
static int
|
|
do_test (void)
|
|
{
|
|
pthread_t th;
|
|
|
|
int e = pthread_create (&th, NULL, tf, NULL);
|
|
if (e != 0)
|
|
{
|
|
printf ("create failed: %s\n", strerror (e));
|
|
return 1;
|
|
}
|
|
|
|
delayed_exit (1);
|
|
|
|
/* Terminate only this thread. */
|
|
pthread_exit (NULL);
|
|
|
|
/* NOTREACHED */
|
|
return 1;
|
|
}
|