Files
Antoine PitrouandAntoine Pitrou 00775397a0 GH-50428: [C++] Better mimalloc configuration on macOS (#50549)
### 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>
2026-07-21 11:03:07 +02:00
..

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.