|
Boost : |
Subject: Re: [boost] [Thread] Query: Stack Size
From: Alapkumar Sinha (Alapkumar.Sinha_at_[hidden])
Date: 2010-07-28 12:34:11
Hi,
Thanks.
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()
{
thread_info->self=thread_info;
// [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)
{
thread_info->self.reset();
boost::throw_exception(thread_resource_error());
}
}
Thanks & Regards,
Alap
-----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
flags.
> Secondly is there a mechanism to set the stack size while creation?
No. You can use platform-specific APIs to switch stacks after creation
though.
> I read somewhere that the default stack size is 8MB which is heavy for
> my application.
That's platform dependent.
Anthony
-- Author of C++ Concurrency in Action http://www.stdthread.co.uk/book/ just::thread C++0x thread library http://www.stdthread.co.uk Just Software Solutions Ltd http://www.justsoftwaresolutions.co.uk 15 Carrallack Mews, St Just, Cornwall, TR19 7UL, UK. Company No. 5478976 _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost ______________________________________________________________________ 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 acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk