|
From: <sv...@va...> - 2014-08-30 06:48:31
|
Author: bart
Date: Sat Aug 30 06:48:01 2014
New Revision: 14394
Log:
drd/tests/pth_create_chain: Reduce stack usage
Modified:
trunk/drd/tests/pth_create_chain.c
Modified: trunk/drd/tests/pth_create_chain.c
==============================================================================
--- trunk/drd/tests/pth_create_chain.c (original)
+++ trunk/drd/tests/pth_create_chain.c Sat Aug 30 06:48:01 2014
@@ -3,6 +3,7 @@
#include <assert.h>
+#include <limits.h> /* PTHREAD_STACK_MIN */
#include <stdlib.h>
#include <stdio.h>
#include <pthread.h>
@@ -14,13 +15,18 @@
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 @@
int main(int argc, char** argv)
{
+ pthread_attr_t attr;
unsigned thread_count;
int i;
@@ -39,8 +46,11 @@
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;
|