From 9670ce76b83bde950020f8d89c4d27168aaaf912 Mon Sep 17 00:00:00 2001
From: Michael Felt <aixtools@users.noreply.github.com>
Date: Sat, 3 Aug 2019 08:12:26 +0200
Subject: [PATCH] bpo-18049: Define THREAD_STACK_SIZE for AIX to pass default
 recursion limit test (GH-15081)

* Define THREAD_STACK_SIZE for AIX to pass default recursion limit test
---
 .../next/Library/2019-08-02-16-44-42.bpo-18049.OA4qBL.rst     | 3 +++
 Python/thread_pthread.h                                       | 4 ++++
 2 files changed, 7 insertions(+)
 create mode 100644 Misc/NEWS.d/next/Library/2019-08-02-16-44-42.bpo-18049.OA4qBL.rst

diff --git a/Misc/NEWS.d/next/Library/2019-08-02-16-44-42.bpo-18049.OA4qBL.rst b/Misc/NEWS.d/next/Library/2019-08-02-16-44-42.bpo-18049.OA4qBL.rst
new file mode 100644
index 0000000000..36a4de384c
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2019-08-02-16-44-42.bpo-18049.OA4qBL.rst
@@ -0,0 +1,3 @@
+Add definition of THREAD_STACK_SIZE for AIX in Python/thread_pthread.h
+The default thread stacksize caused crashes with the default recursion limit
+Patch by M Felt
diff --git a/Python/thread_pthread.h b/Python/thread_pthread.h
index 994e35b2cc..5678b05ced 100644
--- a/Python/thread_pthread.h
+++ b/Python/thread_pthread.h
@@ -47,6 +47,10 @@
 #undef  THREAD_STACK_SIZE
 #define THREAD_STACK_SIZE       0x400000
 #endif
+#if defined(_AIX) && defined(THREAD_STACK_SIZE) && THREAD_STACK_SIZE == 0
+#undef  THREAD_STACK_SIZE
+#define THREAD_STACK_SIZE       0x200000
+#endif
 /* for safety, ensure a viable minimum stacksize */
 #define THREAD_STACK_MIN        0x8000  /* 32 KiB */
 #else  /* !_POSIX_THREAD_ATTR_STACKSIZE */
-- 
2.49.0