mirror of
git://sourceware.org/git/glibc.git
synced 2024-12-27 04:41:02 +08:00
f4741da2e7
* bug-sleep.c: New file. * Makefile (tests): Add bug-sleep.
35 lines
550 B
C
35 lines
550 B
C
/* PR libc/4005 */
|
|
#include <pthread.h>
|
|
#include <stdio.h>
|
|
#include <unistd.h>
|
|
#include <time.h>
|
|
|
|
void *
|
|
run_thread (void *a)
|
|
{
|
|
while (1)
|
|
{
|
|
sleep (10);
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
int
|
|
main (void)
|
|
{
|
|
pthread_t thr;
|
|
void *result;
|
|
alarm (4);
|
|
printf ("Starting thread.\n");
|
|
pthread_create (&thr, 0, run_thread, 0);
|
|
sleep (2);
|
|
printf ("Canceling thread.\n");
|
|
pthread_cancel (thr);
|
|
pthread_join (thr, &result);
|
|
if (result == PTHREAD_CANCELED)
|
|
printf ("Thread canceled.\n");
|
|
else
|
|
printf ("Thread exited.\n");
|
|
return 0;
|
|
}
|