diff --git a/include/utils/threads.h b/include/utils/threads.h index c68562505..ab3e8cdb6 100644 --- a/include/utils/threads.h +++ b/include/utils/threads.h @@ -143,6 +143,10 @@ extern int androidSetThreadSchedulingGroup(pid_t tid, int grp); // in either case errno is set. Thread ID zero means current thread. extern int androidSetThreadPriority(pid_t tid, int prio); +// Get the current priority of a particular thread. Returns one of the +// ANDROID_PRIORITY constants or a negative result in case of error. +extern int androidGetThreadPriority(pid_t tid); + // Get the current scheduling group of a particular thread. Normally returns // one of the ANDROID_TGROUP constants other than ANDROID_TGROUP_DEFAULT. // Returns ANDROID_TGROUP_DEFAULT if no pthread support (e.g. on host) or if diff --git a/libs/utils/Threads.cpp b/libs/utils/Threads.cpp index 02c380b0e..38c4b35a7 100644 --- a/libs/utils/Threads.cpp +++ b/libs/utils/Threads.cpp @@ -368,6 +368,10 @@ int androidSetThreadPriority(pid_t tid, int pri) return rc; } +int androidGetThreadPriority(pid_t tid) { + return getpriority(PRIO_PROCESS, tid); +} + int androidGetThreadSchedulingGroup(pid_t tid) { int ret = ANDROID_TGROUP_DEFAULT;