Boost logo

Boost :

Subject: Re: [boost] [Thread] Query: Stack Size
From: Alapkumar Sinha (Alapkumar.Sinha_at_[hidden])
Date: 2010-07-28 12:34:11



I was checking the thread library implementation for pthread in the file
boost_1_43_0/libs/thread/src/pthread/thread.cpp (Line number 185) and observed that boost trhead library calls pthread_create with attributes as NULL which means it takes default stack size.

I have modified the code as below. Can someone tell me if this changes are fine or not?

void thread::start_thread()
        // [AKS] Addded code to set the stack size to 2 MB
        size_t mystacksize;
        pthread_attr_init(&attr1); //attr1 is a global variable
        mystacksize =2097152;
        pthread_attr_setstacksize (&attr1, mystacksize);
        //[AKS] End of change

        int const res = pthread_create(&thread_info->thread_handle, &attr1, &thread_proxy, thread_info.get());
        if (res != 0)


Thanks & Regards,

-----Original Message-----
From: boost-bounces_at_[hidden] [mailto:boost-bounces_at_[hidden]] On Behalf Of Anthony Williams
Sent: Wednesday, July 28, 2010 7:01 PM
To: boost_at_[hidden]
Subject: Re: [boost] [Boost] [Thread] Query: Stack Size

Alapkumar Sinha <Alapkumar.Sinha_at_[hidden]> writes:

> How can I change the default stack size for each new thread being
> created?

On Windows, set the default stack size with the appropriate linker

> Secondly is there a mechanism to set the stack size while creation?

No. You can use platform-specific APIs to switch stacks after creation

> I read somewhere that the default stack size is 8MB which is heavy for
> my application.

That's platform dependent.


Author of C++ Concurrency in Action
just::thread C++0x thread library   
Just Software Solutions Ltd
15 Carrallack Mews, St Just, Cornwall, TR19 7UL, UK. Company No. 5478976
Unsubscribe & other changes:
This Email may contain confidential or privileged information for the intended recipient (s) If you are not the intended recipient, please do not use or disseminate the information, notify the sender and delete it from your system.

Boost list run by bdawes at, gregod at, cpdaniel at, john at