summaryrefslogtreecommitdiff
path: root/nptl
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-03-07 10:40:53 +0000
committerUlrich Drepper <drepper@redhat.com>2004-03-07 10:40:53 +0000
commit4d1a02efc1117763c67fe012642381e3106500cf (patch)
tree3e1416ebaf41ca04937a91e3b9e6ba72b057c752 /nptl
parentead327594300796f6e87293c5a53827b744eb93d (diff)
Update.
2004-03-07 Ulrich Drepper <drepper@redhat.com> * 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.
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog21
-rw-r--r--nptl/tst-barrier4.c21
-rw-r--r--nptl/tst-basic2.c24
-rw-r--r--nptl/tst-cancel10.c24
-rw-r--r--nptl/tst-clock2.c24
-rw-r--r--nptl/tst-cond10.c24
-rw-r--r--nptl/tst-cond2.c24
-rw-r--r--nptl/tst-context1.c24
-rw-r--r--nptl/tst-fork1.c21
-rw-r--r--nptl/tst-join4.c20
-rw-r--r--nptl/tst-key4.c22
-rw-r--r--nptl/tst-kill6.c24
-rw-r--r--nptl/tst-mutex7.c23
-rw-r--r--nptl/tst-once2.c23
-rw-r--r--nptl/tst-signal3.c24
-rw-r--r--nptl/tst-tls1.c24
-rw-r--r--nptl/tst-tls2.c24
-rw-r--r--nptl/tst-tls3.c24
18 files changed, 379 insertions, 36 deletions
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 <drepper@redhat.com>
+
+ * 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 <drepper@redhat.com>
* 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 <drepper@redhat.com>, 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 <drepper@redhat.com>, 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 <drepper@redhat.com>, 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 <drepper@redhat.com>, 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 <drepper@redhat.com>, 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 <drepper@redhat.com>, 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 <roland@redhat.com>, 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 <drepper@redhat.com>, 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 <drepper@redhat.com>, 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 <drepper@redhat.com>, 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 <drepper@redhat.com>, 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 <drepper@redhat.com>, 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 <drepper@redhat.com>, 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 <drepper@redhat.com>, 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 <drepper@redhat.com>, 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 <drepper@redhat.com>, 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
}