Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2b1c37a3 authored by Rick Yiu's avatar Rick Yiu Committed by Gerrit Code Review
Browse files

Merge changes from topic "revert_androidSetThreadPriority_api"

* changes:
  Revert "Add choice for changing sched policy when setting thread priority"
  Revert "Fix API for C compatibility"
parents fbb0314c fa02bb99
Loading
Loading
Loading
Loading
+12 −23
Original line number Diff line number Diff line
@@ -302,8 +302,8 @@ void androidSetCreateThreadFunc(android_create_thread_fn func)
}

#if defined(__ANDROID__)
namespace {
int androidSetThreadPriorityInternal(pid_t tid, int pri, bool change_policy) {
int androidSetThreadPriority(pid_t tid, int pri)
{
    int rc = 0;
    int lasterr = 0;
    int curr_pri = getpriority(PRIO_PROCESS, tid);
@@ -312,7 +312,6 @@ int androidSetThreadPriorityInternal(pid_t tid, int pri, bool change_policy) {
        return rc;
    }

    if (change_policy) {
    if (pri >= ANDROID_PRIORITY_BACKGROUND) {
        rc = SetTaskProfiles(tid, {"SCHED_SP_BACKGROUND"}, true) ? 0 : -1;
    } else if (curr_pri >= ANDROID_PRIORITY_BACKGROUND) {
@@ -325,7 +324,6 @@ int androidSetThreadPriorityInternal(pid_t tid, int pri, bool change_policy) {
    if (rc) {
        lasterr = errno;
    }
    }

    if (setpriority(PRIO_PROCESS, tid, pri) < 0) {
        rc = INVALID_OPERATION;
@@ -335,15 +333,6 @@ int androidSetThreadPriorityInternal(pid_t tid, int pri, bool change_policy) {

    return rc;
}
}  // namespace

int androidSetThreadPriority(pid_t tid, int pri) {
    return androidSetThreadPriorityInternal(tid, pri, true);
}

int androidSetThreadPriorityAndPolicy(pid_t tid, int pri, bool change_policy) {
    return androidSetThreadPriorityInternal(tid, pri, change_policy);
}

int androidGetThreadPriority(pid_t tid) {
    return getpriority(PRIO_PROCESS, tid);
+0 −5
Original line number Diff line number Diff line
@@ -78,13 +78,8 @@ extern void androidSetCreateThreadFunc(android_create_thread_fn func);
// should be one of the ANDROID_PRIORITY constants.  Returns INVALID_OPERATION
// if the priority set failed, else another value if just the group set failed;
// in either case errno is set.  Thread ID zero means current thread.
// This is equivalent to androidSetThreadPriorityAndPolicy(tid, prio, true);
extern int androidSetThreadPriority(pid_t tid, int prio);

// Parameter "change_policy" indicates if sched policy should be changed. It needs
// not be checked again if the change is done elsewhere like activity manager.
extern int androidSetThreadPriorityAndPolicy(pid_t tid, int prio, bool change_policy);

// 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);