mirror of
https://git.musl-libc.org/git/musl
synced 2025-01-09 00:02:17 +03:00
426a0e2912
this fixes a bug reported by Nuno Gonçalves. previously, calling fclose on stdin or stdout resulted in deadlock at exit time, since __stdio_exit attempts to lock these streams to flush/seek them, and has no easy way of knowing that they were closed. conceptually, leaving a FILE stream locked on fclose is valid since, in the abstract machine, it ceases to exist. but to satisfy the implementation-internal assumption in __stdio_exit that it can access these streams unconditionally, we need to unlock them. it's also necessary that fclose leaves permanent streams in a state where __stdio_exit will not attempt any further operations on them. fortunately, the call to fflush already yields this property. |
||
---|---|---|
arch | ||
crt | ||
dist | ||
include | ||
lib | ||
src | ||
tools | ||
.gitignore | ||
configure | ||
COPYRIGHT | ||
INSTALL | ||
Makefile | ||
README | ||
VERSION | ||
WHATSNEW |
musl libc musl, pronounced like the word "mussel", is an MIT-licensed implementation of the standard C library targetting the Linux syscall API, suitable for use in a wide range of deployment environments. musl offers efficient static and dynamic linking support, lightweight code and low runtime overhead, strong fail-safe guarantees under correct usage, and correctness in the sense of standards conformance and safety. musl is built on the principle that these goals are best achieved through simple code that is easy to understand and maintain. The 1.1 release series for musl features coverage for all interfaces defined in ISO C99 and POSIX 2008 base, along with a number of non-standardized interfaces for compatibility with Linux, BSD, and glibc functionality. For basic installation instructions, see the included INSTALL file. Information on full musl-targeted compiler toolchains, system bootstrapping, and Linux distributions built on musl can be found on the project website: http://www.musl-libc.org/