aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2019-02-27 14:57:46 +0000
committerHans Wennborg <hans@hanshq.net>2019-02-27 14:57:46 +0000
commit97fecc3d4536e73a12b8c621242497cf43617da8 (patch)
tree43894b9dbe30ccc376bdd63b34bd294e8d3985f6
parent2d4592a2719499f438ef618b80d8a21cd30a8c11 (diff)
Merging r354765:
------------------------------------------------------------------------ r354765 | kadircet | 2019-02-25 10:19:26 +0100 (Mon, 25 Feb 2019) | 9 lines [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 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/branches/release_80@354983 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--clangd/Threading.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/clangd/Threading.cpp b/clangd/Threading.cpp
index 139fcc2f..695e30d8 100644
--- a/clangd/Threading.cpp
+++ b/clangd/Threading.cpp
@@ -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(ThreadPriority Priority) {
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
}