diff options
author | 2022-12-15 16:15:13 +0000 | |
---|---|---|
committer | 2022-12-15 16:15:13 +0000 | |
commit | 7f623a39f88114d051d0c45ac2e3ab538514f8cd (patch) | |
tree | 75149ee54dfacf7caef1b25f210da3549dc29903 /libs/binder/IPCThreadState.cpp | |
parent | be80b60636daaf6a541fa8179947941aa37d78a3 (diff) | |
parent | c268ccb5cefa10a900191ca284f0c30f95c5580d (diff) |
Merge "binder: fix debug printing in IPCThreadState"
Diffstat (limited to 'libs/binder/IPCThreadState.cpp')
-rw-r--r-- | libs/binder/IPCThreadState.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/libs/binder/IPCThreadState.cpp b/libs/binder/IPCThreadState.cpp index c0f3e3060e..6d64e1ed3e 100644 --- a/libs/binder/IPCThreadState.cpp +++ b/libs/binder/IPCThreadState.cpp @@ -132,12 +132,21 @@ static const void* printBinderTransactionData(std::ostream& out, const void* dat } else { out << "\ttarget.ptr=" << btd->target.ptr; } - out << "\t (cookie " << btd->cookie << ")" - << "\n" + out << "\t (cookie " << btd->cookie << ")\n" << "\tcode=" << TypeCode(btd->code) << ", flags=" << (void*)(uint64_t)btd->flags << "\n" - << "\tdata=" << btd->data.ptr.buffer << " (" << (void*)btd->data_size << " bytes)" - << "\n" - << "\toffsets=" << btd->data.ptr.offsets << " (" << (void*)btd->offsets_size << " bytes)"; + << "\tdata=" << btd->data.ptr.buffer << " (" << (void*)btd->data_size << " bytes)\n" + << "\toffsets=" << btd->data.ptr.offsets << " (" << (void*)btd->offsets_size << " bytes)\n"; + return btd + 1; +} + +static const void* printBinderTransactionDataSecCtx(std::ostream& out, const void* data) { + const binder_transaction_data_secctx* btd = (const binder_transaction_data_secctx*)data; + + printBinderTransactionData(out, &btd->transaction_data); + + char* secctx = (char*)btd->secctx; + out << "\tsecctx=" << secctx << "\n"; + return btd+1; } @@ -156,6 +165,11 @@ static const void* printReturnCommand(std::ostream& out, const void* _cmd) { out << "\t" << kReturnStrings[cmdIndex]; switch (code) { + case BR_TRANSACTION_SEC_CTX: { + out << ": "; + cmd = (const int32_t*)printBinderTransactionDataSecCtx(out, cmd); + } break; + case BR_TRANSACTION: case BR_REPLY: { out << ": "; |