about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
diff options
context:
space:
mode:
authorJens Reidel <adrian@travitia.xyz>2025-07-20 07:04:58 +0200
committerJens Reidel <adrian@travitia.xyz>2025-08-14 20:37:05 +0200
commit5d01d90ad617349109db79cb9980267fd294d735 (patch)
tree7c1ff6f7f2acc079bb20431381d8633f5c8cdd9b /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
parent30017c36d6b5e3382ee7cf018d330a6a4a937d39 (diff)
downloadrust-5d01d90ad617349109db79cb9980267fd294d735.tar.gz
rust-5d01d90ad617349109db79cb9980267fd294d735.zip
std: thread: Return error if setting thread stack size fails
Currently, when setting the thread stack size fails, it would be rounded
up to the nearest multiple of the page size and the code asserts that
the next call to pthread_attr_setstacksize succeeds.

This may be true for glibc, but it isn't true for musl, which not only
enforces a minimum stack size, but also a maximum stack size of
usize::MAX / 4 - PTHREAD_STACK_MIN [1], triggering the assert rather
than erroring gracefully.

There isn't any way to handle this properly other than bailing out and
letting the user know it didn't succeed.

[1]: https://git.musl-libc.org/cgit/musl/tree/src/thread/pthread_attr_setstacksize.c#n5

Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions