diff options
Diffstat (limited to 'libs/binder/Parcel.cpp')
| -rw-r--r-- | libs/binder/Parcel.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp index 39bb078fd1..aec8f107a3 100644 --- a/libs/binder/Parcel.cpp +++ b/libs/binder/Parcel.cpp @@ -211,7 +211,14 @@ status_t flatten_binder(const sp<ProcessState>& /*proc*/, { flat_binder_object obj; - obj.flags = 0x7f | FLAT_BINDER_FLAG_ACCEPTS_FDS; + if (IPCThreadState::self()->backgroundSchedulingDisabled()) { + /* minimum priority for all nodes is nice 0 */ + obj.flags = FLAT_BINDER_FLAG_ACCEPTS_FDS; + } else { + /* minimum priority for all nodes is MAX_NICE(19) */ + obj.flags = 0x13 | FLAT_BINDER_FLAG_ACCEPTS_FDS; + } + if (binder != NULL) { IBinder *local = binder->localBinder(); if (!local) { |