mirror of
https://github.com/apple/sourcekit-lsp.git
synced 2026-03-02 18:23:24 +01:00
To prevent crashes during `exit` caused by SR-12668, avoid running static destructors. During testing, we do this by interposing `__cxa_exit` to prevent registration of destructors. This depends on the previous commit that disabled RTLD_DEEPBIND. In the sourcekit-lsp executable, since we control the exit points, we can make a less invasive change to just use `_Exit` instead of `exit` to avoid cleanups. This should hopefully fix the CI issues we have seen when testing with --parallel. rdar://61837752