From ba711b2eaa97aad7124f4e853ff17d3cbf7519c6 Mon Sep 17 00:00:00 2001 From: Benoit Foucher Date: Tue, 10 Jul 2007 15:40:02 +0200 Subject: Fixed bug 2293 --- cpp/src/IceUtil/Thread.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'cpp/src/IceUtil/Thread.cpp') diff --git a/cpp/src/IceUtil/Thread.cpp b/cpp/src/IceUtil/Thread.cpp index 70c4aa8b52c..6f306f345de 100644 --- a/cpp/src/IceUtil/Thread.cpp +++ b/cpp/src/IceUtil/Thread.cpp @@ -406,6 +406,16 @@ IceUtil::Thread::start(size_t stackSize) __decRef(); throw ThreadSyscallException(__FILE__, __LINE__, rc); } + if(stackSize < PTHREAD_STACK_MIN) + { + stackSize = PTHREAD_STACK_MIN; + } +#ifdef __APPLE__ + if(stackSize % 4096 > 0) + { + stackSize = stackSize / 4096 * 4096 + 4096; + } +#endif rc = pthread_attr_setstacksize(&attr, stackSize); if(rc != 0) { -- cgit v1.2.3