796b7cbac3
Fixes a segfault seen on Darwin when a GC scan is ran after a thread has been destroyed. As the global emutlsArrays hash still has a reference to the array itself, and tries to iterate all elements. Setting the length to zero frees all allocated elements in the array, and ensures that it is skipped when the _d_emutls_scan is called. libphobos/ChangeLog: * libdruntime/gcc/emutls.d (emutlsDestroyThread): Clear the per-thread TLS array, don't call free(). |
||
---|---|---|
.. | ||
libdruntime | ||
m4 | ||
src | ||
testsuite | ||
acinclude.m4 | ||
aclocal.m4 | ||
ChangeLog | ||
config.h.in | ||
configure | ||
configure.ac | ||
configure.tgt | ||
d_rules.am | ||
Makefile.am | ||
Makefile.in | ||
README.gcc |
The files in this directory where noted are part of the DRuntime and Phobos library. DRuntime is the low-level runtime library backing the D programming language, hosted at https://github.com/dlang/druntime/. Phobos is the standard library for the D Programming Language, hosted at https://github.com/dlang/phobos/. The following sources and directories are part of DRuntime: libdruntime/core/ libdruntime/gc/ libdruntime/gcstub/ libdruntime/object.d libdruntime/rt/ The following sources and directories are part of Phobos: src/etc/ src/index.d src/std/ To report a bug or look up known issues with the runtime or standard library please visit the issue tracker at https://issues.dlang.org/. All changes to either of these libraries should go through the upstream repository first, then merged back to GCC.