lean4-htt/script
Henrik Böving 50cfe354be
chore: remove old LEAN_AUTO_THREAD_FINALIZATION workaround (#8885)
This PR removes an old workaround around non-implemented C++11 features
in the thread finalization.

This `ifdef` dates back to approximately 2015 as can be seen
[here](https://github.com/leanprover/lean3/blame/master/src/util/thread.cpp#L177),
the comments mention that it was originally implemented because not all
compilers at the time were able to support the C++11 `thread_local`
keyword. 10 years later this is hopefully the case and we can remove
this workaround.

There is an additional motivation for doing this,
`lean::initialize_thread` contains the following allocation:
```cpp
    g_thread_finalizers_mgr = new thread_finalizers_manager;
```
this is supposed to be freed at some point but:
```cpp
// TODO(gabriel): race condition with thread finalizers
void delete_thread_finalizer_manager() {
    // delete g_thread_finalizers_mgr;
    // g_thread_finalizers_mgr = nullptr;
}
```
so `g_thread_finalizers_mgr` leaks upon repeated invocation of
`lean::initialize_thread`.

Note that Windows has already been using this alternative implementation
for a while so the alternative implementation has (hopefully) not rotten
away in the meantime.
2025-06-20 08:52:17 +00:00
..
lib chore: fix spelling mistakes in non-Lean files (#5430) 2024-09-23 21:11:20 +00:00
apply.lean
bench.sh chore: move benchmarking script to this repo (#8718) 2025-06-11 12:27:06 +00:00
benchReelabRss.lean feat: do not export def bodies by default (#8221) 2025-05-15 12:16:54 +00:00
collideProfiles.lean
diff_changelogs.py
gen_constants_cpp.py
gen_tokens_cpp.py
issues_summary.sh
mathlib-bench chore: script/mathlib-bench (#6280) 2024-12-02 10:00:57 +00:00
merge_remote.py feat: upgrades to release_checklist.py script (#8192) 2025-05-05 09:03:57 +00:00
patch.sh
prepare-llvm-linux.sh fix: ld.so linking on Linux (#8228) 2025-05-05 11:50:59 +00:00
prepare-llvm-macos.sh fix: set LLVM sysroot consistently (#6574) 2025-01-08 12:56:27 +00:00
prepare-llvm-mingw.sh chore: remove old LEAN_AUTO_THREAD_FINALIZATION workaround (#8885) 2025-06-20 08:52:17 +00:00
push_repo_release_tag.py chore: update release checklist (#6637) 2025-01-14 10:18:46 +00:00
rebase-stage0.sh chore: add ./script/rebase-stage0.sh (#3984) 2024-05-02 12:26:25 +00:00
reformat.lean
release_checklist.py chore: improvements to release checklist and scripts (#8586) 2025-06-10 22:56:06 +00:00
release_notes.py fix: indenting in release notes script (#7326) 2025-03-12 23:02:02 +00:00
release_repos.yml feat: upgrades to release_checklist.py script (#8192) 2025-05-05 09:03:57 +00:00
release_steps.py chore: improvements to release checklist and scripts (#8586) 2025-06-10 22:56:06 +00:00