You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Improving handling first allocation being for TLS (#767)
* handle reentrancy during initialization
* use finialization list if possible
* Add test for reentrancy of C++ destructors and allocation
* Add test for reentrancy of setspecific
* Add new mode for directly calling __cxa_thread_atexit_impl
---------
Co-authored-by: Schrodinger ZHU Yifan <[email protected]>
set(SNMALLOC_CLEANUP ${SNMALLOC_CLEANUP_DEFAULT}CACHESTRING"The mechanism that snmalloc will use for thread destructors. Valid options are: CXX11_DESTRUCTORS (use C++11 destructors, may depend on the C++ runtime library), PTHREAD_DESTRUCTORS (use pthreads, may interact badly with C++ on some platforms, such as macOS) THREAD_CLEANUP (depend on an explicit call to _malloc_thread_cleanup on thread exit, supported by FreeBSD's threading implementation and possibly elsewhere)")
set(SNMALLOC_CLEANUP ${SNMALLOC_CLEANUP_DEFAULT}CACHESTRING"The mechanism that snmalloc will use for thread destructors. Valid options are: CXX11_DESTRUCTORS (use C++11 destructors, may depend on the C++ runtime library), CXX11_THREAD_ATEXIT_DIRECT (use the glibc call for libstdc++ directly), PTHREAD_DESTRUCTORS (use pthreads, may interact badly with C++ on some platforms, such as macOS) THREAD_CLEANUP (depend on an explicit call to _malloc_thread_cleanup on thread exit, supported by FreeBSD's threading implementation and possibly elsewhere)")
0 commit comments