mirror of
https://github.com/ziglang/zig.git
synced 2024-12-03 10:28:48 +00:00
3f9588ca29
We were violating the POSIX standard which resulted in a deadlock on musl v1.1.24 on aarch64 alpine linux, uncovered with the new ThreadPool usage in the stage2 compiler. std.os execv functions that accept an Allocator parameter are removed because they are footguns. The POSIX standard does not allow calls to malloc() between fork() and execv() and since it is common to both (1) call execv() after fork() and (2) use std.heap.c_allocator, Programmers are encouraged to go through the `std.process` API instead, causing some dissonance when combined with `std.os` APIs. I also slapped a big warning message on all the relevant doc comments. |
||
---|---|---|
.. | ||
include | ||
libc | ||
libcxx | ||
libcxxabi | ||
libunwind | ||
std | ||
tsan |