Messages in this thread | | | From | Li Li <> | Subject | [PATCH v3 0/1] binder: return pending info for frozen async txns | Date | Wed, 23 Nov 2022 12:16:53 -0800 |
| |
From: Li Li <dualli@google.com>
User applications need to know if their binder transactions reach a frozen process or not. For sync binder calls, Linux kernel already has a dedicated return value BR_FROZEN_REPLY, indicating this sync binder transaction will be rejected (similar to BR_DEAD_REPLY) as the target process is frozen. But for async binder calls, the user space application doesn't have a way to know if the target process is frozen.
This patch adds a new return value, BR_TRANSACTION_PENDING_FROZEN, to fix this issue. Similar to BR_TRANSACTION_COMPLETE, it means the async binder transaction has been put in the queue of the target process, but it's waiting for the target process to be unfrozen.
v1: checkpatch.pl --strict passed v2: protect proc->is_frozen with lock, fix typo in comments v3: rename BR_TRANSACTION_PENDING to BR_TRANSACTION_PENDING_FROZEN to signify the frozen scenario and avoid potential confusion
Li Li (1): binder: return pending info for frozen async txns
drivers/android/binder.c | 32 +++++++++++++++++++++++------ drivers/android/binder_internal.h | 3 ++- include/uapi/linux/android/binder.h | 7 ++++++- 3 files changed, 34 insertions(+), 8 deletions(-)
-- 2.38.1.584.g0f3c55d4c2-goog
| |