summaryrefslogtreecommitdiff
path: root/innobase/os/os0thread.c
diff options
context:
space:
mode:
authorunknown <serg@serg.mysql.com>2002-08-31 23:38:10 +0000
committerunknown <serg@serg.mysql.com>2002-08-31 23:38:10 +0000
commitf7d6288db21cbfc1315403adfcf8f2e59a5f305f (patch)
tree91af427b2b554f4b9c83954455900c2424386e02 /innobase/os/os0thread.c
parent9a1953781acf6de68376ee4a54b8242af7fa2ae3 (diff)
parentc8f6ea2c7c0ae7521025a7ed25d5ee40bd1f9b69 (diff)
downloadmariadb-git-f7d6288db21cbfc1315403adfcf8f2e59a5f305f.tar.gz
merged
BitKeeper/etc/logging_ok: auto-union Build-tools/Do-compile: Auto merged Docs/manual.texi: Auto merged innobase/configure.in: Auto merged innobase/os/os0file.c: Auto merged innobase/os/os0thread.c: Auto merged innobase/pars/lexyy.c: Auto merged innobase/pars/pars0grm.c: Auto merged innobase/pars/pars0grm.y: Auto merged innobase/pars/pars0lex.l: Auto merged innobase/row/row0mysql.c: Auto merged
Diffstat (limited to 'innobase/os/os0thread.c')
-rw-r--r--innobase/os/os0thread.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/innobase/os/os0thread.c b/innobase/os/os0thread.c
index 13990b6743b..146303b2791 100644
--- a/innobase/os/os0thread.c
+++ b/innobase/os/os0thread.c
@@ -128,8 +128,28 @@ os_thread_create(
pthread_attr_init(&attr);
+#ifdef UNIV_AIX
+ /* We must make sure a thread stack is at least 32 kB, otherwise
+ InnoDB might crash; we do not know if the default stack size on
+ AIX is always big enough. An empirical test on AIX-4.3 suggested
+ the size was 96 kB, though. */
+
+ ret = pthread_attr_setstacksize(&attr,
+ (size_t)(PTHREAD_STACK_MIN + 32 * 1024));
+ if (ret) {
+ fprintf(stderr,
+ "InnoDB: Error: pthread_attr_setstacksize returned %d\n", ret);
+ exit(1);
+ }
+#endif
ret = pthread_create(&pthread, &attr, start_f, arg);
+ if (ret) {
+ fprintf(stderr,
+ "InnoDB: Error: pthread_create returned %d\n", ret);
+ exit(1);
+ }
+
pthread_attr_destroy(&attr);
if (srv_set_thread_priorities) {