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
This commit is contained in:
parent
7b97351b68
commit
9e87a80140
@ -20,6 +20,7 @@
|
|||||||
#include <cutils/sched_policy.h>
|
#include <cutils/sched_policy.h>
|
||||||
#include <diskusage/dirsize.h>
|
#include <diskusage/dirsize.h>
|
||||||
#include <selinux/android.h>
|
#include <selinux/android.h>
|
||||||
|
#include <system/thread_defs.h>
|
||||||
|
|
||||||
/* Directory records that are used in execution of commands. */
|
/* Directory records that are used in execution of commands. */
|
||||||
dir_rec_t android_data_dir;
|
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));
|
ALOGE("set_sched_policy failed: %s\n", strerror(errno));
|
||||||
exit(70);
|
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) {
|
if (flock(out_fd, LOCK_EX | LOCK_NB) != 0) {
|
||||||
ALOGE("flock(%s) failed: %s\n", out_path, strerror(errno));
|
ALOGE("flock(%s) failed: %s\n", out_path, strerror(errno));
|
||||||
exit(67);
|
exit(67);
|
||||||
|
Loading…
Reference in New Issue
Block a user