From 9e87a8014055606b514b1c72b21915e17db7d513 Mon Sep 17 00:00:00 2001 From: Igor Murashkin Date: Wed, 5 Nov 2014 15:21:12 -0800 Subject: [PATCH] installd: Set priority to background for dexopting This fixes jank caused by dex2oat while installing an application in the background. Bug: 17497551 Change-Id: I5a69b00c0fd76ae22a0d1adb242bef6c18a75743 --- cmds/installd/commands.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmds/installd/commands.c b/cmds/installd/commands.c index fc3972e68..1954d8dda 100644 --- a/cmds/installd/commands.c +++ b/cmds/installd/commands.c @@ -20,6 +20,7 @@ #include #include #include +#include /* Directory records that are used in execution of commands. */ dir_rec_t android_data_dir; @@ -985,6 +986,10 @@ int dexopt(const char *apk_path, uid_t uid, bool is_public, ALOGE("set_sched_policy failed: %s\n", strerror(errno)); exit(70); } + if (setpriority(PRIO_PROCESS, 0, ANDROID_PRIORITY_BACKGROUND) < 0) { + ALOGE("setpriority failed: %s\n", strerror(errno)); + exit(71); + } if (flock(out_fd, LOCK_EX | LOCK_NB) != 0) { ALOGE("flock(%s) failed: %s\n", out_path, strerror(errno)); exit(67);