From: Bart Van Assche Date: Sat, 30 Aug 2014 06:48:01 +0000 (+0000) Subject: drd/tests/pth_create_chain: Reduce stack usage X-Git-Tag: svn/VALGRIND_3_10_0~112 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ed8d0edf04f9df58815d126b1a61625bb2e1466b;p=thirdparty%2Fvalgrind.git drd/tests/pth_create_chain: Reduce stack usage git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14394 --- diff --git a/drd/tests/pth_create_chain.c b/drd/tests/pth_create_chain.c index 2de7689176..e0771243d9 100644 --- a/drd/tests/pth_create_chain.c +++ b/drd/tests/pth_create_chain.c @@ -3,6 +3,7 @@ #include +#include /* PTHREAD_STACK_MIN */ #include #include #include @@ -14,13 +15,18 @@ static int s_arg[1000]; static void* thread_func(void* p) { int thread_count = *(int*)(p); + pthread_attr_t attr; + if (thread_count > 0) { thread_count--; // std::cout << "create " << thread_count << std::endl; s_arg[thread_count] = thread_count; - pthread_create(&s_thread[thread_count], 0, thread_func, + pthread_attr_init(&attr); + pthread_attr_setstacksize(&attr, PTHREAD_STACK_MIN); + pthread_create(&s_thread[thread_count], &attr, thread_func, &s_arg[thread_count]); + pthread_attr_destroy(&attr); #if 0 std::cout << "created " << thread_count << "(" << s_thread[thread_count] << ")" << std::endl; @@ -31,6 +37,7 @@ static void* thread_func(void* p) int main(int argc, char** argv) { + pthread_attr_t attr; unsigned thread_count; int i; @@ -39,8 +46,11 @@ int main(int argc, char** argv) assert(thread_count >= 1); thread_count--; // std::cout << "create " << thread_count << std::endl; - pthread_create(&s_thread[thread_count], 0, thread_func, + pthread_attr_init(&attr); + pthread_attr_setstacksize(&attr, PTHREAD_STACK_MIN); + pthread_create(&s_thread[thread_count], &attr, thread_func, &thread_count); + pthread_attr_destroy(&attr); #if 0 std::cout << "created " << thread_count << "(" << s_thread[thread_count] << ")" << std::endl;