summaryrefslogtreecommitdiffstats
path: root/core/jni/android_util_Binder.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Don't propagate StrictMode over one-way Binder calls.Brad Fitzpatrick2010-08-311-0/+1
| | | | | | | | | | | | | | | | | This was causing stack stitching problems where a one-way call with violations followed by a two-way call without violations was getting the previous one-way call's violation stack stitched on to the second caller's stack. The solution is a little more indirect than I would've liked (preserving the binder's onTransact flags until enforceInterface) but was seemingly necessary to work without changing the AIDL compiler. It should also be sufficiently cheap, since no new calls to thread-local IPCThreadState lookups were required. The additional work is just same-thread getter/setters on the existing IPCThreadState. Change-Id: I4b6db1d445c56e868e6d0d7be3ba6849f4ef23ae
* Replace several IPCThreadState::get() lookups with one.Brad Fitzpatrick2010-07-271-7/+7
| | | | | | Also, make StrictMode's ThreadLocal final. Change-Id: I08d400ed254fa67bb7a3dae1227f205a54c00df0
* More StrictMode work, keeping Binder & BlockGuard's thread-locals in-sync.Brad Fitzpatrick2010-07-151-1/+67
| | | | Change-Id: Ia67cabcc17a73a0f15907ffea683d06bc41b90e5
* Better fix for gettid() sim-eng breakage from last night.Brad Fitzpatrick2010-03-251-3/+3
| | | | Change-Id: I2e8762d43b3c224a2e102ff82fc79072a85bb4c6
* Hopefully fix the sim-eng build, part 2.Brad Fitzpatrick2010-03-251-4/+20
| | | | | | | | | This is kinda gross, but I can't find a good way to check for the existence of gettid(), except by finding its syscall number. Then might as well just use it rather than hope gettid's around, as it's not in sim-eng. Change-Id: Ieb7b39426dec08bd715b6fe1a9ab5b2801bdf775
* Try to fix sim build. Looks like gettid() is in unistd.h.Brad Fitzpatrick2010-03-251-0/+1
| | | | Change-Id: Ib1ecea86246ad75b2553b0ccc8ce03a53ffdf218
* Log blocking Binder calls to the EventLog.Brad Fitzpatrick2010-03-241-1/+96
| | | | | | | | | This mimics what we do already for SQLiteDatabase's db_operation and ContentProvider's content_query_operation and content_update_operation: over a threshold things are always logged, and under which they're sub-sampled. Change-Id: Ia0280b9b07b336ee88b17be2a31a7af0fd7c5770
* Ensure Binder finalizer handles partially initialized instances.Jeff Brown2010-03-241-3/+13
| | | | | | | | | | | | | | | If the Binder is allocated but its constructor does not run for some reason, then Binder.init() will not be called. Since the object was allocated, it is still eligible for finalization. Eventually when the finalizer runs and calls Binder.destroy(), it will have a NULL binder holder pointer. Previously this would cause Binder.destroy() to attempt to decrement a reference count on a NULL pointer. Now we check and ignore the binder if it does not have a valid holder pointer. Bug: b/2533956 Change-Id: Ifc2729b2f2abe8bceea5a0645ae0a4c1575b7846
* Propagate background scheduling class across processes.Dianne Hackborn2009-12-071-0/+7
| | | | | | | | | | | This is a very simply implementation: upon receiving an IPC, if the handling thread is at a background priority (the driver will have taken care of propagating this from the calling thread), then stick it in to the background scheduling group. Plus an API to turn this off for the process, which is used by the system process. This also pulls some of the code for managing scheduling classes out of the Process JNI wrappers and in to some convenience methods in thread.h.
* move libbinder's header files under includes/binderMathias Agopian2009-05-201-5/+5
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-0/+1511
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-1510/+0
|
* auto import from //depot/cupcake/@132589The Android Open Source Project2009-03-031-1/+0
|
* auto import from //depot/cupcake/@137055The Android Open Source Project2009-03-021-0/+1
|
* Initial ContributionThe Android Open Source Project2008-10-211-0/+1510