diff options
author | Samuel Thibault <samy@hurd.youpi.perso.aquilenet.fr> | 2012-05-20 13:37:08 +0000 |
---|---|---|
committer | Samuel Thibault <samy@hurd.youpi.perso.aquilenet.fr> | 2012-05-20 13:37:08 +0000 |
commit | 756a64304b61a94b9b57ae88c4af5654152f5b8e (patch) | |
tree | c65bf4981fbf56c3d63d58dcd7ad4893d47890db /libpthread/tests/test-4.c | |
parent | d0109384c8d7ae06f50dcf0804aa7d30356dbde0 (diff) |
Remove libpthread, now in eglibc
Diffstat (limited to 'libpthread/tests/test-4.c')
-rw-r--r-- | libpthread/tests/test-4.c | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/libpthread/tests/test-4.c b/libpthread/tests/test-4.c deleted file mode 100644 index de9c8fe4..00000000 --- a/libpthread/tests/test-4.c +++ /dev/null @@ -1,86 +0,0 @@ -/* Test the stack guard. */ - -#define _GNU_SOURCE - -#include <pthread.h> -#include <assert.h> -#include <unistd.h> -#include <errno.h> -#include <string.h> -#include <stdio.h> - -size_t stacksize; - -void * -thr (void *arg) -{ - int i; - char *foo; - - foo = alloca (3 * stacksize / 4); - for (i = 0; i < sizeof foo; i ++) - foo[i] = -1; - - return (void *) 1; -} - -int -main (int argc, char *argv[]) -{ - error_t err; - pid_t child; - - child = fork (); - switch (child) - { - case -1: - error (1, errno, "fork"); - break; - - case 0: - { - pthread_attr_t attr; - pthread_t tid; - void *ret; - - err = pthread_attr_init (&attr); - assert_perror (err); - - err = pthread_attr_getstacksize (&attr, &stacksize); - assert_perror (err); - - err = pthread_attr_setguardsize (&attr, stacksize / 2); - if (err == ENOTSUP) - { - printf ("Stack guard attribute not supported.\n"); - return 1; - } - assert_perror (err); - - err = pthread_create (&tid, &attr, thr, 0); - assert_perror (err); - - err = pthread_attr_destroy (&attr); - assert_perror (err); - - err = pthread_join (tid, &ret); - /* Should never be successful. */ - printf ("Thread did not segfault!?!\n"); - assert_perror (err); - return 0; - } - - default: - { - pid_t pid; - int status; - - pid = waitpid (child, &status, 0); - printf ("pid = %d; child = %d; status = %d\n", pid, child, status); - assert (pid == child); - assert (status != 0); - } - } - - return 0; -} |