diff options
author | John Baldwin <jhb@FreeBSD.org> | 2023-03-06 16:55:22 -0800 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2023-03-06 16:55:22 -0800 |
commit | 3c75f00adcea9d57c0d92669249dd884e49c4c3b (patch) | |
tree | 6d199f31f5256f3d2ff85b741281d43bb51da9e4 /gdb | |
parent | 3625712636b1411d2b980217e7dd1ca8a4c8c502 (diff) | |
download | gdb-3c75f00adcea9d57c0d92669249dd884e49c4c3b.zip gdb-3c75f00adcea9d57c0d92669249dd884e49c4c3b.tar.gz gdb-3c75f00adcea9d57c0d92669249dd884e49c4c3b.tar.bz2 |
gdb.threads/multi-create: Double the existing stack size.
Setting the stack size to 2*PTHREAD_STACK_MIN actually lowered the
stack on FreeBSD rather than raising it causing non-main threads in
the test program to overflow their stack and crash. Double the
existing stack size rather than assuming that the initial stack size
is PTHREAD_STACK_MIN.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/testsuite/gdb.threads/multi-create.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gdb/testsuite/gdb.threads/multi-create.c b/gdb/testsuite/gdb.threads/multi-create.c index f4a47c3..9944ba5 100644 --- a/gdb/testsuite/gdb.threads/multi-create.c +++ b/gdb/testsuite/gdb.threads/multi-create.c @@ -39,11 +39,13 @@ create_function (void *arg) pthread_attr_t attr; pthread_t threads[NUM_THREAD]; int args[NUM_THREAD]; + size_t stacksize; int i = * (int *) arg; int j; pthread_attr_init (&attr); /* set breakpoint 1 here. */ - pthread_attr_setstacksize (&attr, 2*PTHREAD_STACK_MIN); + pthread_attr_getstacksize (&attr, &stacksize); + pthread_attr_setstacksize (&attr, 2 * stacksize); /* Create a ton of quick-executing threads, then wait for them to complete. */ @@ -67,10 +69,12 @@ main (int argc, char **argv) pthread_attr_t attr; pthread_t threads[NUM_CREATE]; int args[NUM_CREATE]; + size_t stacksize; int n, i; pthread_attr_init (&attr); - pthread_attr_setstacksize (&attr, 2*PTHREAD_STACK_MIN); + pthread_attr_getstacksize (&attr, &stacksize); + pthread_attr_setstacksize (&attr, 2 * stacksize); for (n = 0; n < 100; ++n) { |