Boost logo

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