[all-commits] [llvm/llvm-project] b4fd51: [Windows] Use TerminateProcess to exit without run...

Martin Storsjö via All-commits all-commits at lists.llvm.org
Sat May 22 13:51:18 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b4fd512c36ca344a3ff69350219e8b0a67e9472a
      https://github.com/llvm/llvm-project/commit/b4fd512c36ca344a3ff69350219e8b0a67e9472a
  Author: Martin Storsjö <martin at martin.st>
  Date:   2021-05-22 (Sat, 22 May 2021)

  Changed paths:
    M llvm/include/llvm/Support/Process.h
    M llvm/lib/Support/Process.cpp
    M llvm/lib/Support/Unix/Process.inc
    M llvm/lib/Support/Windows/Process.inc

  Log Message:
  -----------
  [Windows] Use TerminateProcess to exit without running destructors

If exiting using _Exit or ExitProcess, DLLs are still unloaded
cleanly before exiting, running destructors and other cleanup in those
DLLs. When the caller expects to exit without cleanup, running
destructors in some loaded DLLs (which can be either libLLVM.dll or
e.g. libc++.dll) can cause deadlocks occasionally.

This is an alternative to D102684.

Differential Revision: https://reviews.llvm.org/D102944




More information about the All-commits mailing list