aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5/qtwebengine/0012-Adjust-default-pthread-stack-size.patch
blob: de2ec97da44b701f0872ebd4644c0c6a5c8f8d6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
From 65d516f64c1cca91868cb26aeb93802382704fd5 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 7 Jul 2017 16:41:23 -0700
Subject: [PATCH 1/2] Adjust default pthread stack size

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 base/threading/platform_thread_linux.cc                     | 3 ++-
 chrome/browser/chrome_browser_main_posix.cc                 | 9 +++++++++
 third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp | 4 ++--
 3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/base/threading/platform_thread_linux.cc b/base/threading/platform_thread_linux.cc
index 95ed32418..666e85ba3 100644
--- a/base/threading/platform_thread_linux.cc
+++ b/base/threading/platform_thread_linux.cc
@@ -96,7 +96,8 @@ void TerminateOnThread() {}
 
 size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) {
 #if !defined(THREAD_SANITIZER)
-  return 0;
+  // use 8mb like glibc to avoid running out of space
+  return (1 << 23);
 #else
   // ThreadSanitizer bloats the stack heavily. Evidence has been that the
   // default stack size isn't enough for some browser tests.
diff --git a/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp b/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp
index 3c0a0395b..2af6073e2 100644
--- a/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp
+++ b/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp
@@ -73,7 +73,7 @@ size_t StackFrameDepth::getUnderestimatedStackSize()
     // FIXME: On Mac OSX and Linux, this method cannot estimate stack size
     // correctly for the main thread.
 
-#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD)
+#if OS(LINUX) || OS(ANDROID) || OS(FREEBSD)
     // pthread_getattr_np() can fail if the thread is not invoked by
     // pthread_create() (e.g., the main thread of webkit_unit_tests).
     // If so, a conservative size estimate is returned.
@@ -135,7 +135,7 @@ size_t StackFrameDepth::getUnderestimatedStackSize()
 
 void* StackFrameDepth::getStackStart()
 {
-#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD)
+#if OS(LINUX) || OS(ANDROID) || OS(FREEBSD)
     pthread_attr_t attr;
     int error;
 #if OS(FREEBSD)
-- 
2.13.2