[clang-tools-extra] r354765 - [clangd] Add thread priority lowering for MacOS as well

Kadir Cetinkaya via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 25 01:19:26 PST 2019


Author: kadircet
Date: Mon Feb 25 01:19:26 2019
New Revision: 354765

URL: http://llvm.org/viewvc/llvm-project?rev=354765&view=rev
Log:
[clangd] Add thread priority lowering for MacOS as well

Reviewers: ilya-biryukov

Subscribers: ioeric, MaskRay, jkorous, arphaman, cfe-commits

Tags: #clang

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

Modified:
    clang-tools-extra/trunk/clangd/Threading.cpp

Modified: clang-tools-extra/trunk/clangd/Threading.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clangd/Threading.cpp?rev=354765&r1=354764&r2=354765&view=diff
==============================================================================
--- clang-tools-extra/trunk/clangd/Threading.cpp (original)
+++ clang-tools-extra/trunk/clangd/Threading.cpp Mon Feb 25 01:19:26 2019
@@ -7,6 +7,8 @@
 #include <thread>
 #ifdef __USE_POSIX
 #include <pthread.h>
+#elif defined(__APPLE__)
+#include <sys/resource.h>
 #endif
 
 namespace clang {
@@ -121,6 +123,12 @@ void setCurrentThreadPriority(ThreadPrio
       Priority == ThreadPriority::Low && !AvoidThreadStarvation ? SCHED_IDLE
                                                                 : SCHED_OTHER,
       &priority);
+#elif defined(__APPLE__)
+  // https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man2/getpriority.2.html
+  setpriority(PRIO_DARWIN_THREAD, 0,
+              Priority == ThreadPriority::Low && !AvoidThreadStarvation
+                  ? PRIO_DARWIN_BG
+                  : 0);
 #endif
 }
 




More information about the cfe-commits mailing list