28 lines
1.3 KiB
Diff
28 lines
1.3 KiB
Diff
|
Raise minimum stack size in ndb code to be a uniform 32K (64K on 64-bit
|
||
|
platforms). This is in response to an episode where glibc needed 8K of
|
||
|
stack to run malloc(), resulting in ndbd crashing at launch. While that
|
||
|
was acknowledged to be a glibc bug (see bz #494631), byte-shaving here
|
||
|
isn't any better an idea than it is in the main mysql server.
|
||
|
|
||
|
Note: the request gets rounded up to at least PTHREAD_STACK_MIN, which
|
||
|
is 128K on PPC; otherwise we would need to do something about including
|
||
|
the stack guard size explicitly, since it's so much larger on PPC than
|
||
|
elsewhere. At some point we might want to use our my_setstacksize()
|
||
|
hack in NdbThread_Create().
|
||
|
|
||
|
|
||
|
diff -Naur mysql-5.1.33.orig/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp mysql-5.1.33/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp
|
||
|
--- mysql-5.1.33.orig/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp 2009-03-13 17:54:07.000000000 -0400
|
||
|
+++ mysql-5.1.33/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp 2009-04-15 14:00:04.000000000 -0400
|
||
|
@@ -106,8 +106,8 @@
|
||
|
AsyncFile::doStart()
|
||
|
{
|
||
|
// Stacksize for filesystem threads
|
||
|
- // An 8k stack should be enough
|
||
|
- const NDB_THREAD_STACKSIZE stackSize = 8192;
|
||
|
+ // don't make this too small
|
||
|
+ const NDB_THREAD_STACKSIZE stackSize = 32768;
|
||
|
|
||
|
char buf[16];
|
||
|
numAsyncFiles++;
|