diff options
Diffstat (limited to 'winsup/testsuite/winsup.api/pthread/threadidafterfork.c')
-rw-r--r-- | winsup/testsuite/winsup.api/pthread/threadidafterfork.c | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/winsup/testsuite/winsup.api/pthread/threadidafterfork.c b/winsup/testsuite/winsup.api/pthread/threadidafterfork.c deleted file mode 100644 index 473eaecfd..000000000 --- a/winsup/testsuite/winsup.api/pthread/threadidafterfork.c +++ /dev/null @@ -1,50 +0,0 @@ -#include <stdio.h> -#include <unistd.h> -#include <sys/wait.h> -#include <pthread.h> -#include <stdlib.h> - -static void * TestThread ( void * ); - -int main (void) -{ - pthread_t t; - - pthread_create (&t, NULL, TestThread, NULL); - pthread_join (t, NULL); - - return 0; -} - -static void * TestThread ( void *not_used ) -{ - pthread_t iAm = pthread_self(); - int status; - switch (fork ()) - { - case -1: - exit(1); - case 0: - if (iAm != pthread_self()) - exit (1); - else - exit (0); - break; - default: - wait (&status); - if (status != 0) - exit (1); - } - exit(0); -} - -/* -The forked child will not get the same thread handle as its parent, it -will get the thread handle from the main thread instead. The child will -not terminate because the threadcount is still 2 after the fork (it is -set to 1 in MTinterface::Init and then set back to 2 after the childs -memory gets overwritten by the parent). - -concept test by Thomas Pfaff <tpfaff@gmx.net> -scritable test by Robert Collins <rbtcollins@hotmail.com> -*/ |