about summary refs log tree commit diff
path: root/src/internal
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2018-09-18 23:06:50 -0400
committerRich Felker <dalias@aerifal.cx>2018-09-18 23:06:50 -0400
commit792f32772e64a32527cd455ebfa087ef434a6f4f (patch)
tree529bab8e8047cdd70f64a4113fb4bc1932180964 /src/internal
parentc7ed3e909a69d34a7821f7db644c2fa590a1a690 (diff)
downloadmusl-792f32772e64a32527cd455ebfa087ef434a6f4f.tar.gz
musl-792f32772e64a32527cd455ebfa087ef434a6f4f.tar.xz
musl-792f32772e64a32527cd455ebfa087ef434a6f4f.zip
limit the configurable default stack/guard size for threads
limit to 8MB/1MB, repectively. since the defaults cannot be reduced
once increased, excessively large settings would lead to an
unrecoverably broken state. this change is in preparation to allow
defaults to be increased via program headers at the linker level.

creation of threads that really need larger sizes needs to be done
with an explicit attribute.
Diffstat (limited to 'src/internal')
-rw-r--r--src/internal/pthread_impl.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/internal/pthread_impl.h b/src/internal/pthread_impl.h
index 26e6e1df..e73a251f 100644
--- a/src/internal/pthread_impl.h
+++ b/src/internal/pthread_impl.h
@@ -182,12 +182,15 @@ hidden void __acquire_ptc(void);
 hidden void __release_ptc(void);
 hidden void __inhibit_ptc(void);
 
-extern hidden size_t __default_stacksize;
-extern hidden size_t __default_guardsize;
+extern hidden unsigned __default_stacksize;
+extern hidden unsigned __default_guardsize;
 
 #define DEFAULT_STACK_SIZE 81920
 #define DEFAULT_GUARD_SIZE 4096
 
+#define DEFAULT_STACK_MAX (8<<20)
+#define DEFAULT_GUARD_MAX (1<<20)
+
 #define __ATTRP_C11_THREAD ((void*)(uintptr_t)-1)
 
 #endif