mirror of
https://github.com/apache/arrow.git
synced 2026-10-29 00:56:31 +08:00
### Rationale for this change On macOS, two independently-linked mimalloc v3 instances built with default TLS settings can end up using the same hard-coded TLS slots and crash due to conflicting expectations. See upstream issue at https://github.com/microsoft/mimalloc/issues/1327 This can manifest when PyArrow is loaded side-by-side with another Python extension module that bundles its own instance of mimalloc. ### What changes are included in this PR? 1. Bump mimalloc to 3.4.1, for the availability of the required CMake option. 2. Configure macOS to use C thread-local variables for thread-local storage, avoiding conflicting accesses to hard-coded TLS slots on macOS. 3. Also, unrelatedly, make sure the default malloc is not overriden by our mimalloc build on macOS. ### Are these changes tested? By existing CI jobs. ### Are there any user-facing changes? No, just a bugfix. * GitHub Issue: #50428 Lead-authored-by: Antoine Pitrou <antoine@python.org> Co-authored-by: Antoine Pitrou <pitrou@free.fr> Signed-off-by: Antoine Pitrou <antoine@python.org>
Apache Arrow C++
This directory contains the code and build system for the Arrow C++ libraries, as well as for the C++ libraries for Apache Parquet.
Installation
See https://arrow.apache.org/install/ for the latest instructions on how to install pre-compiled binary versions of the library.
Source Builds and Development
Please refer to our latest C++ Development Documentation.