AIBinder_incStrong is frequently called on a null binder out of
convenience, because in cases where ownership is required on a binder
that may or may not be nullptr, ignoring the incStrong on nullptr is
consistent.
Bug: 150894288
Test: atest CtsNdkBinderTestCases
Change-Id: I247811a7d4600711c015647f77900bf3183890e2
This reverts commit 0a09c76c71.
Bug: 147699567
Test: atest LibStatsPullTests now passes
Reason for revert: b/150904425 is fixed.
Change-Id: I00451b5f146dbb9086d395a8bf50e5929a6b7839
This reverts commit e52a3b607d.
Reason for revert: caught bug in b/150901303, but will temporarily revert until it can be fixed.
Change-Id: Ia8e37395e0d000d247c0ffa4ac9243aab699d09b
Bug: 148177595
Test: atest CompositionSamplingListenerTest
(broken by other changes in previous CL that included
this change with other changes, in b/150837217)
Test: boot
Change-Id: I11c9fb7031ae6f226ba279ade9d7ffef7eccb6aa
This reverts commit 76c0aa44bb.
Reason for revert: breaks some tests b/150837217 - will investigate why later
Change-Id: I7fe4c567a4b46d02bb31c6442e969b33b6237513
Currently, if there are only 0/1 services registered and list is called,
no output will be produced.
Bug: hit me while testing vndservicemanager, since this may not register
anything
Test: dumpsys_test
Change-Id: I8e16376eb99c5758d53ff0b5f01b32fd21e6b119
Previously, nullable types were mapped to std::unique_ptr for C++
backend. But std::unique_ptr typically involves unnecessary alloc/dealloc.
For example, if nullable string is represented in unique_ptr<string>, we
should do "unique_ptr<string>(new string(value))" to set a value.
To avoid breaking all hand-written parcelables, only new read/write
functions are added to Parcel class and they are used only by
aidl-generated code and their implementations.
Bug: 144773267
Test: build/flash/boot
atest --test-mapping frameworks/native/libs/binder
Merged-In: I2c801e3b69f2f8ccf44267f15cbf79e1d8fbf19e
Change-Id: I2c801e3b69f2f8ccf44267f15cbf79e1d8fbf19e
(cherry picked from commit 1e1c5fbbbe8a76150fe832c8f974cbd543aa0860)
Exempt-From-Owner-Approval: CP from master
Unnecessary field, and some fields which could be bools. Only shaves off
a few bytes.
Bug: 148177595
Test: boots/works
Change-Id: Iec53d7398d0dc78c0f722e63d650252e769b00ad
Attached objects require a heap allocation, and stability is always
attached. This avoids a heap allocation per binder object (Android R
regression).
Bug: 148177595
Test: binderStabilityTest
Change-Id: I5eab8be5d87fdd9468bcbd8d54913ca713559314
These aren't really needed here, and they are costing 20Kib memory/user.
Bug: 148177595
Test: boot/lshal
Change-Id: Id0d311319c47553fac5d1d208409cef83073fddf
If a larger threadpool is started, and concurrent binder transactions
are cause these threads to actually be started, and then we shrink
the threadpool, these extra threads won't be shut down. So, when we
detect that this race may happen, we abort with an error.
It's best practice to setup a threadpool at process startup time.
Bug: 147699567
Test: TH
Change-Id: I12d2e6e6b1ebf92c2b2abbfccffb011c4248d8ec
If binderfs is mounted, lshal should read binder stats
from /dev/binderfs/binder_logs instead of debugfs.
Test: atest lshal_test, adb shell lshal
Change-Id: Id585cdcd71c0ab4346045a099c2e3d0ddffcecc0
Some functions are marked as "override" while the rest are not.
No functionality change.
Test: TreeHugger
Change-Id: I7bcd785588feba0c514dcb473f29ea92784efee0
/system/etc/{llndk,vndksp}.libraries.txt files will be deprecated.
These files can be read from VNDK APEX.
Bug: 145184886
Test: build / boot
Change-Id: Ic6f46033bd525325562e04ef9e8bcb8ebb5b5d41