From 4d1a02efc1117763c67fe012642381e3106500cf Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 7 Mar 2004 10:40:53 +0000 Subject: Update. 2004-03-07 Ulrich Drepper * tst-once4.c: Remove unnecessary macro definition. * tst-mutex7.c (do_test): Limit thread stack size. * tst-once2.c (do_test): Likewise. * tst-tls3.c (do_test): Likewise. * tst-tls1.c (do_test): Likewise. * tst-signal3.c (do_test): Likewise. * tst-kill6.c (do_test): Likewise. * tst-key4.c (do_test): Likewise. * tst-join4.c (do_test): Likewise. * tst-fork1.c (do_test): Likewise. * tst-context1.c (do_test): Likewise. * tst-cond2.c (do_test): Likewise. * tst-cond10.c (do_test): Likewise. * tst-clock2.c (do_test): Likewise. * tst-cancel10.c (do_test): Likewise. * tst-basic2.c (do_test): Likewise. * tst-barrier4.c (do_test): Likewise. --- nptl/ChangeLog | 21 +++++++++++++++++++++ nptl/tst-barrier4.c | 21 ++++++++++++++++++++- nptl/tst-basic2.c | 24 ++++++++++++++++++++++-- nptl/tst-cancel10.c | 24 ++++++++++++++++++++++-- nptl/tst-clock2.c | 24 ++++++++++++++++++++++-- nptl/tst-cond10.c | 24 ++++++++++++++++++++++-- nptl/tst-cond2.c | 24 ++++++++++++++++++++++-- nptl/tst-context1.c | 24 ++++++++++++++++++++++-- nptl/tst-fork1.c | 21 ++++++++++++++++++++- nptl/tst-join4.c | 20 +++++++++++++------- nptl/tst-key4.c | 22 +++++++++++++++++++++- nptl/tst-kill6.c | 24 ++++++++++++++++++++++-- nptl/tst-mutex7.c | 23 +++++++++++++++++++++-- nptl/tst-once2.c | 23 +++++++++++++++++++++-- nptl/tst-signal3.c | 24 ++++++++++++++++++++++-- nptl/tst-tls1.c | 24 ++++++++++++++++++++++-- nptl/tst-tls2.c | 24 ++++++++++++++++++++++-- nptl/tst-tls3.c | 24 ++++++++++++++++++++++-- 18 files changed, 379 insertions(+), 36 deletions(-) (limited to 'nptl') diff --git a/nptl/ChangeLog b/nptl/ChangeLog index dcb26a5a6e..6d271a05b3 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,24 @@ +2004-03-07 Ulrich Drepper + + * tst-once4.c: Remove unnecessary macro definition. + + * tst-mutex7.c (do_test): Limit thread stack size. + * tst-once2.c (do_test): Likewise. + * tst-tls3.c (do_test): Likewise. + * tst-tls1.c (do_test): Likewise. + * tst-signal3.c (do_test): Likewise. + * tst-kill6.c (do_test): Likewise. + * tst-key4.c (do_test): Likewise. + * tst-join4.c (do_test): Likewise. + * tst-fork1.c (do_test): Likewise. + * tst-context1.c (do_test): Likewise. + * tst-cond2.c (do_test): Likewise. + * tst-cond10.c (do_test): Likewise. + * tst-clock2.c (do_test): Likewise. + * tst-cancel10.c (do_test): Likewise. + * tst-basic2.c (do_test): Likewise. + * tst-barrier4.c (do_test): Likewise. + 2004-03-05 Ulrich Drepper * sysdeps/i386/tls.h: Use GLRO instead of GL where appropriate. diff --git a/nptl/tst-barrier4.c b/nptl/tst-barrier4.c index a811feefa5..56ea044e0d 100644 --- a/nptl/tst-barrier4.c +++ b/nptl/tst-barrier4.c @@ -64,8 +64,21 @@ tf (void *arg) static int do_test (void) { + pthread_attr_t at; int cnt; + if (pthread_attr_init (&at) != 0) + { + puts ("attr_init failed"); + return 1; + } + + if (pthread_attr_setstacksize (&at, 1 * 1024 * 1024) != 0) + { + puts ("attr_setstacksize failed"); + return 1; + } + if (pthread_barrier_init (&b1, NULL, N) != 0) { puts ("1st barrier_init failed"); @@ -80,12 +93,18 @@ do_test (void) pthread_t th[N - 1]; for (cnt = 0; cnt < N - 1; ++cnt) - if (pthread_create (&th[cnt], NULL, tf, NULL) != 0) + if (pthread_create (&th[cnt], &at, tf, NULL) != 0) { puts ("pthread_create failed"); return 1; } + if (pthread_attr_destroy (&at) != 0) + { + puts ("attr_destroy failed"); + return 1; + } + tf (NULL); for (cnt = 0; cnt < N - 1; ++cnt) diff --git a/nptl/tst-basic2.c b/nptl/tst-basic2.c index b9478c0812..1c4632ceb0 100644 --- a/nptl/tst-basic2.c +++ b/nptl/tst-basic2.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2002. @@ -49,6 +49,20 @@ do_test (void) exit (1); } + pthread_attr_t at; + + if (pthread_attr_init (&at) != 0) + { + puts ("attr_init failed"); + return 1; + } + + if (pthread_attr_setstacksize (&at, 1 * 1024 * 1024) != 0) + { + puts ("attr_setstacksize failed"); + return 1; + } + int i; for (i = 0; i < N; ++i) { @@ -64,7 +78,7 @@ do_test (void) exit (1); } - if (pthread_create (&th[i], NULL, tf, (void *) (long int) i) != 0) + if (pthread_create (&th[i], &at, tf, (void *) (long int) i) != 0) { puts ("create failed"); exit (1); @@ -79,6 +93,12 @@ do_test (void) printf ("created thread %d\n", i); } + if (pthread_attr_destroy (&at) != 0) + { + puts ("attr_destroy failed"); + return 1; + } + int result = 0; for (i = 0; i < N; ++i) { diff --git a/nptl/tst-cancel10.c b/nptl/tst-cancel10.c index b8b995338c..7af0f2f84b 100644 --- a/nptl/tst-cancel10.c +++ b/nptl/tst-cancel10.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. +/* Copyright (C) 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2003. @@ -71,17 +71,37 @@ tf (void *arg) static int do_test (void) { + pthread_attr_t at; + + if (pthread_attr_init (&at) != 0) + { + puts ("attr_init failed"); + return 1; + } + + if (pthread_attr_setstacksize (&at, 1 * 1024 * 1024) != 0) + { + puts ("attr_setstacksize failed"); + return 1; + } + #define N 20 int i; pthread_t th[N]; for (i = 0; i < N; ++i) - if (pthread_create (&th[i], NULL, tf, (void *) (long int) i) != 0) + if (pthread_create (&th[i], &at, tf, (void *) (long int) i) != 0) { puts ("create failed"); exit (1); } + if (pthread_attr_destroy (&at) != 0) + { + puts ("attr_destroy failed"); + return 1; + } + for (i = 0; i < N; ++i) { void *r; diff --git a/nptl/tst-clock2.c b/nptl/tst-clock2.c index 4c716b0011..62e5752032 100644 --- a/nptl/tst-clock2.c +++ b/nptl/tst-clock2.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. +/* Copyright (C) 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2003. @@ -78,11 +78,25 @@ do_test (void) cl[0] = CLOCK_THREAD_CPUTIME_ID; #endif + pthread_attr_t at; + + if (pthread_attr_init (&at) != 0) + { + puts ("attr_init failed"); + return 1; + } + + if (pthread_attr_setstacksize (&at, 1 * 1024 * 1024) != 0) + { + puts ("attr_setstacksize failed"); + return 1; + } + int i; int e; for (i = 0; i < N; ++i) { - if (pthread_create (&th[i], NULL, tf, NULL) != 0) + if (pthread_create (&th[i], &at, tf, NULL) != 0) { puts ("create failed"); return 1; @@ -106,6 +120,12 @@ do_test (void) } } + if (pthread_attr_destroy (&at) != 0) + { + puts ("attr_destroy failed"); + return 1; + } + struct timespec t[N + 1]; for (i = 0; i < N + 1; ++i) if (clock_gettime (cl[i], &t[i]) != 0) diff --git a/nptl/tst-cond10.c b/nptl/tst-cond10.c index 5bf5d1fef0..34956d468a 100644 --- a/nptl/tst-cond10.c +++ b/nptl/tst-cond10.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. +/* Copyright (C) 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2003. @@ -87,6 +87,20 @@ do_test (void) exit (1); } + pthread_attr_t at; + + if (pthread_attr_init (&at) != 0) + { + puts ("attr_init failed"); + return 1; + } + + if (pthread_attr_setstacksize (&at, 1 * 1024 * 1024) != 0) + { + puts ("attr_setstacksize failed"); + return 1; + } + int r; for (r = 0; r < ROUNDS; ++r) { @@ -96,7 +110,7 @@ do_test (void) pthread_t th[N]; for (i = 0; i < N; ++i) { - if (pthread_create (&th[i], NULL, tf, NULL) != 0) + if (pthread_create (&th[i], &at, tf, NULL) != 0) { puts ("create failed"); exit (1); @@ -145,6 +159,12 @@ do_test (void) } } + if (pthread_attr_destroy (&at) != 0) + { + puts ("attr_destroy failed"); + return 1; + } + return 0; } diff --git a/nptl/tst-cond2.c b/nptl/tst-cond2.c index 21bf817b13..36f0f29412 100644 --- a/nptl/tst-cond2.c +++ b/nptl/tst-cond2.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2002. @@ -86,11 +86,25 @@ do_test (void) exit (1); } + pthread_attr_t at; + + if (pthread_attr_init (&at) != 0) + { + puts ("attr_init failed"); + return 1; + } + + if (pthread_attr_setstacksize (&at, 1 * 1024 * 1024) != 0) + { + puts ("attr_setstacksize failed"); + return 1; + } + for (i = 0; i < N; ++i) { printf ("create thread %d\n", i); - err = pthread_create (&th[i], NULL, tf, (void *) (long int) i); + err = pthread_create (&th[i], &at, tf, (void *) (long int) i); if (err != 0) error (EXIT_FAILURE, err, "cannot create thread %d", i); @@ -106,6 +120,12 @@ do_test (void) } } + if (pthread_attr_destroy (&at) != 0) + { + puts ("attr_destroy failed"); + return 1; + } + puts ("get lock outselves"); err = pthread_mutex_lock (&mut); diff --git a/nptl/tst-context1.c b/nptl/tst-context1.c index 0edee00c7a..ff6e381636 100644 --- a/nptl/tst-context1.c +++ b/nptl/tst-context1.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. +/* Copyright (C) 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2003. @@ -111,13 +111,33 @@ do_test (void) } puts ("global OK"); + pthread_attr_t at; + + if (pthread_attr_init (&at) != 0) + { + puts ("attr_init failed"); + return 1; + } + + if (pthread_attr_setstacksize (&at, 1 * 1024 * 1024) != 0) + { + puts ("attr_setstacksize failed"); + return 1; + } + for (n = 0; n < N; ++n) - if (pthread_create (&th[n], NULL, tf, (void *) (long int) n) != 0) + if (pthread_create (&th[n], &at, tf, (void *) (long int) n) != 0) { puts ("create failed"); exit (1); } + if (pthread_attr_destroy (&at) != 0) + { + puts ("attr_destroy failed"); + return 1; + } + for (n = 0; n < N; ++n) if (pthread_join (th[n], NULL) != 0) { diff --git a/nptl/tst-fork1.c b/nptl/tst-fork1.c index 56ffe50d9e..33c4ed84fe 100644 --- a/nptl/tst-fork1.c +++ b/nptl/tst-fork1.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Roland McGrath , 2002. @@ -71,6 +71,19 @@ main (void) pthread_t th[N]; int i; int result = 0; + pthread_attr_t at; + + if (pthread_attr_init (&at) != 0) + { + puts ("attr_init failed"); + return 1; + } + + if (pthread_attr_setstacksize (&at, 1 * 1024 * 1024) != 0) + { + puts ("attr_setstacksize failed"); + return 1; + } for (i = 0; i < N; ++i) if (pthread_create (&th[i], NULL, thread_function, @@ -80,6 +93,12 @@ main (void) exit (1); } + if (pthread_attr_destroy (&at) != 0) + { + puts ("attr_destroy failed"); + return 1; + } + for (i = 0; i < N; ++i) { void *v; diff --git a/nptl/tst-join4.c b/nptl/tst-join4.c index 0b605907da..b13a510111 100644 --- a/nptl/tst-join4.c +++ b/nptl/tst-join4.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. +/* Copyright (C) 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2003. @@ -48,19 +48,25 @@ do_test (void) exit (1); } - pthread_t th[2]; + pthread_attr_t a; - if (pthread_create (&th[0], NULL, tf, NULL) != 0) + if (pthread_attr_init (&a) != 0) { - puts ("1st create failed"); + puts ("attr_init failed"); exit (1); } - pthread_attr_t a; + if (pthread_attr_setstacksize (&a, 1 * 1024 * 1024) != 0) + { + puts ("attr_setstacksize failed"); + return 1; + } - if (pthread_attr_init (&a) != 0) + pthread_t th[2]; + + if (pthread_create (&th[0], &a, tf, NULL) != 0) { - puts ("attr_init failed"); + puts ("1st create failed"); exit (1); } diff --git a/nptl/tst-key4.c b/nptl/tst-key4.c index 7e9bfddcca..0a5b448e50 100644 --- a/nptl/tst-key4.c +++ b/nptl/tst-key4.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. +/* Copyright (C) 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2003. @@ -75,6 +75,20 @@ do_test (void) exit (1); } + pthread_attr_t a; + + if (pthread_attr_init (&a) != 0) + { + puts ("attr_init failed"); + exit (1); + } + + if (pthread_attr_setstacksize (&a, 1 * 1024 * 1024) != 0) + { + puts ("attr_setstacksize failed"); + return 1; + } + for (i = 0; i < 10; ++i) { int j; @@ -109,6 +123,12 @@ do_test (void) } } + if (pthread_attr_destroy (&a) != 0) + { + puts ("attr_destroy failed"); + exit (1); + } + return 0; } diff --git a/nptl/tst-kill6.c b/nptl/tst-kill6.c index 9956dcb9b8..26e82d98f0 100644 --- a/nptl/tst-kill6.c +++ b/nptl/tst-kill6.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. +/* Copyright (C) 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2003. @@ -88,15 +88,35 @@ do_test (void) exit (1); } + pthread_attr_t a; + + if (pthread_attr_init (&a) != 0) + { + puts ("attr_init failed"); + exit (1); + } + + if (pthread_attr_setstacksize (&a, 1 * 1024 * 1024) != 0) + { + puts ("attr_setstacksize failed"); + return 1; + } + pthread_t th[N]; int i; for (i = 0; i < N; ++i) - if (pthread_create (&th[i], NULL, tf, NULL) != 0) + if (pthread_create (&th[i], &a, tf, NULL) != 0) { puts ("create failed"); exit (1); } + if (pthread_attr_destroy (&a) != 0) + { + puts ("attr_destroy failed"); + exit (1); + } + if (sem_init (&sem, 0, 0) != 0) { puts ("sem_init failed"); diff --git a/nptl/tst-mutex7.c b/nptl/tst-mutex7.c index 9ee8ece939..183fd10f82 100644 --- a/nptl/tst-mutex7.c +++ b/nptl/tst-mutex7.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2002. @@ -60,9 +60,22 @@ tf (void *arg) static int do_test (void) { + pthread_attr_t at; pthread_t th[N]; int cnt; + if (pthread_attr_init (&at) != 0) + { + puts ("attr_init failed"); + return 1; + } + + if (pthread_attr_setstacksize (&at, 1 * 1024 * 1024) != 0) + { + puts ("attr_setstacksize failed"); + return 1; + } + if (pthread_mutex_lock (&lock) != 0) { puts ("locking in parent failed"); @@ -70,12 +83,18 @@ do_test (void) } for (cnt = 0; cnt < N; ++cnt) - if (pthread_create (&th[cnt], NULL, tf, (void *) (long int) cnt) != 0) + if (pthread_create (&th[cnt], &at, tf, (void *) (long int) cnt) != 0) { printf ("creating thread %d failed\n", cnt); return 1; } + if (pthread_attr_destroy (&at) != 0) + { + puts ("attr_destroy failed"); + return 1; + } + if (pthread_mutex_unlock (&lock) != 0) { puts ("unlocking in parent failed"); diff --git a/nptl/tst-once2.c b/nptl/tst-once2.c index 3fbc4a975d..c606345384 100644 --- a/nptl/tst-once2.c +++ b/nptl/tst-once2.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2002. @@ -60,16 +60,35 @@ tf (void *arg) static int do_test (void) { + pthread_attr_t at; pthread_t th[N]; int cnt; + if (pthread_attr_init (&at) != 0) + { + puts ("attr_init failed"); + return 1; + } + + if (pthread_attr_setstacksize (&at, 1 * 1024 * 1024) != 0) + { + puts ("attr_setstacksize failed"); + return 1; + } + for (cnt = 0; cnt < N; ++cnt) - if (pthread_create (&th[cnt], NULL, tf, (void *) (long int) cnt) != 0) + if (pthread_create (&th[cnt], &at, tf, (void *) (long int) cnt) != 0) { printf ("creation of thread %d failed\n", cnt); return 1; } + if (pthread_attr_destroy (&at) != 0) + { + puts ("attr_destroy failed"); + return 1; + } + for (cnt = 0; cnt < N; ++cnt) if (pthread_join (th[cnt], NULL) != 0) { diff --git a/nptl/tst-signal3.c b/nptl/tst-signal3.c index ef9ca9cc15..e4756c56ab 100644 --- a/nptl/tst-signal3.c +++ b/nptl/tst-signal3.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2002. @@ -132,6 +132,20 @@ do_test (void) exit (1); } + pthread_attr_t a; + + if (pthread_attr_init (&a) != 0) + { + puts ("attr_init failed"); + exit (1); + } + + if (pthread_attr_setstacksize (&a, 1 * 1024 * 1024) != 0) + { + puts ("attr_setstacksize failed"); + return 1; + } + for (i = 0; i < N; ++i) { if (pthread_mutex_init (&lock[i], NULL) != 0) @@ -144,13 +158,19 @@ do_test (void) printf ("mutex_lock[%d] failed\n", i); } - if (pthread_create (&th[i], NULL, tf, (void *) (long int) i) != 0) + if (pthread_create (&th[i], &a, tf, (void *) (long int) i) != 0) { printf ("create of thread %d failed\n", i); exit (1); } } + if (pthread_attr_destroy (&a) != 0) + { + puts ("attr_destroy failed"); + exit (1); + } + int result = 0; unsigned int r = 42; pid_t pid = getpid (); diff --git a/nptl/tst-tls1.c b/nptl/tst-tls1.c index 36681629e3..4e191222a7 100644 --- a/nptl/tst-tls1.c +++ b/nptl/tst-tls1.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. +/* Copyright (C) 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2003. @@ -71,6 +71,20 @@ do_test (void) exit (1); } + pthread_attr_t a; + + if (pthread_attr_init (&a) != 0) + { + puts ("attr_init failed"); + exit (1); + } + + if (pthread_attr_setstacksize (&a, 1 * 1024 * 1024) != 0) + { + puts ("attr_setstacksize failed"); + return 1; + } + #define N 10 int i; for (i = 0; i < N; ++i) @@ -79,7 +93,7 @@ do_test (void) pthread_t th[M]; int j; for (j = 0; j < M; ++j, ++s.a) - if (pthread_create (&th[j], NULL, tf, NULL) != 0) + if (pthread_create (&th[j], &a, tf, NULL) != 0) { puts ("pthread_create failed"); exit (1); @@ -93,6 +107,12 @@ do_test (void) } } + if (pthread_attr_destroy (&a) != 0) + { + puts ("attr_destroy failed"); + exit (1); + } + return 0; #endif } diff --git a/nptl/tst-tls2.c b/nptl/tst-tls2.c index 1d8ea14a88..73ed33eb6a 100644 --- a/nptl/tst-tls2.c +++ b/nptl/tst-tls2.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. +/* Copyright (C) 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2003. @@ -140,14 +140,34 @@ do_test (void) exit (1); } + pthread_attr_t a; + + if (pthread_attr_init (&a) != 0) + { + puts ("attr_init failed"); + exit (1); + } + + if (pthread_attr_setstacksize (&a, 1 * 1024 * 1024) != 0) + { + puts ("attr_setstacksize failed"); + return 1; + } + int i; for (i = 0; i < N; ++i) - if (pthread_create (&th[i], NULL, tf, cbs[i]) != 0) + if (pthread_create (&th[i], &a, tf, cbs[i]) != 0) { puts ("pthread_create failed"); exit (1); } + if (pthread_attr_destroy (&a) != 0) + { + puts ("attr_destroy failed"); + exit (1); + } + pthread_barrier_wait (&b); sigset_t ss; diff --git a/nptl/tst-tls3.c b/nptl/tst-tls3.c index 20ee3e30c2..8c2663bb04 100644 --- a/nptl/tst-tls3.c +++ b/nptl/tst-tls3.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. +/* Copyright (C) 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2003. @@ -127,12 +127,26 @@ do_test (void) exit (1); } + pthread_attr_t a; + + if (pthread_attr_init (&a) != 0) + { + puts ("attr_init failed"); + exit (1); + } + + if (pthread_attr_setstacksize (&a, 1 * 1024 * 1024) != 0) + { + puts ("attr_setstacksize failed"); + return 1; + } + int r; for (r = 0; r < 10; ++r) { int i; for (i = 0; i < N; ++i) - if (pthread_create (&th[i], NULL, tf, cbs[i]) != 0) + if (pthread_create (&th[i], &a, tf, cbs[i]) != 0) { puts ("pthread_create failed"); exit (1); @@ -185,6 +199,12 @@ do_test (void) } } + if (pthread_attr_destroy (&a) != 0) + { + puts ("attr_destroy failed"); + exit (1); + } + return 0; #endif } -- cgit 1.4.1