summary refs log tree commit diff
path: root/gnu/packages/patches/tbb-fix-test-on-aarch64.patch
blob: 3a6003591ebb3a6594fae410ed5b87423bd1e873 (plain) (blame)
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
From 013035b4e9af39f506e87ae6b755c3363e768d4d Mon Sep 17 00:00:00 2001
From: Vladislav Shchapov <phprus@gmail.com>
Date: Thu, 23 Dec 2021 19:17:24 +0500
Subject: [PATCH] Fix issue #687 (test_eh_thread) (#697)

Signed-off-by: Vladislav Shchapov <phprus@gmail.com>
---
 test/tbb/test_eh_thread.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/test/tbb/test_eh_thread.cpp b/test/tbb/test_eh_thread.cpp
index aa6d764d..af291f48 100644
--- a/test/tbb/test_eh_thread.cpp
+++ b/test/tbb/test_eh_thread.cpp
@@ -36,6 +36,7 @@
 // TODO: enable limitThreads with sanitizer under docker
 #if TBB_USE_EXCEPTIONS && !_WIN32 && !__ANDROID__
 
+#include <limits.h>
 #include <sys/types.h>
 #include <sys/time.h>
 #include <sys/resource.h>
@@ -73,7 +74,8 @@ public:
         mValid = false;
         pthread_attr_t attr;
         // Limit the stack size not to consume all virtual memory on 32 bit platforms.
-        if (pthread_attr_init(&attr) == 0 && pthread_attr_setstacksize(&attr, 100*1024) == 0) {
+        std::size_t stacksize = utils::max(128*1024, PTHREAD_STACK_MIN);
+        if (pthread_attr_init(&attr) == 0 && pthread_attr_setstacksize(&attr, stacksize) == 0) {
             mValid = pthread_create(&mHandle, &attr, thread_routine, /* arg = */ nullptr) == 0;
         }
     }
-- 
2.34.0