History log of /frameworks/native/libs/binder/Binder.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f2bf93bb080b07159ec1395c1ea8edcf5e00e829 15-Oct-2015 Dianne Hackborn <hackbod@google.com> Temporary hack to get rid of new virtuals.

Seems like it breaks some prebuilt binaries.

Change-Id: Ia5e35beb4538364b2ab3618fbf21b2e9c9ee2363
23eb1e20cf59e1238b65cc108f31dfbfd85b2337 08-Oct-2015 Dianne Hackborn <hackbod@google.com> Add new "shell command" feature to Binder objects.

IBinder has a new common interface for sending shell commands
to it. This can be implemented by system services to provide
a shell interface to the service, without needing to have separate
shell java code.

Also add a new "cmd" command line tool, which invokes the shell
command method on a system service. This is much like dumpsys,
but for shell commands.

Change-Id: I95dc80c881a28cefb76957ad4d4fd9b3ed9630df
6913c46492f1153cecc647a87217fbb0b0d19689 19-Aug-2015 Bailey Forrest <bcf@google.com> binder: Change from C11 <stdatomic.h> to C++11 <atomic>.

Change-Id: Ib831a9ccfcc7089940d37883d860574359c270e2
3bdc5b826803dca10d3625c56de38d6c55d869c8 20-Nov-2014 Dan Albert <danalbert@google.com> C++11 compatibility.

* Explicit conversion for atomic_uintptr_t initialization.
* Fix string literal concatenation to not be a UD literal.
* Use __typeof__ instead of typeof (should become decltype once this
actually moves to C++11).

Bug: 18466763
Change-Id: I4eedddfb945a2a703ed27317cb6e2b3041b1ebfc
c0df68bb804d8fc4bc75aa077232ea74f0d53b28 11-Sep-2014 Hans Boehm <hboehm@google.com> Work around C11 const atomic restrictions.

Cast away the const qualifier in BBinder::findObject. C11, unlike C++11,
does not allow loads from const atomics. This is widely regarded as
a bug (see WG14 DR 459). This is a hack to work around it until it's
officially fixed in the spec.

load_const_atomic was adapted from commit

I don't think we want to dignify this by putting it into a header file.

Change-Id: Icbfcbda2722e6f80d2bb065a0bb3ec7634bcacb2
1ddaadb59883df5ca821b4b08fdd41a1720a3b6f 19-Aug-2014 Hans Boehm <hboehm@google.com> Fix CAS argument type.

Gcc apparently doesn't check; clang does.

Change-Id: I184084a5063131dbc857c63f97e70e78a05e1a76
3effababf2980d029339522fdc914bdeb913d99b 13-Aug-2014 Hans Boehm <hboehm@google.com> Revert "Revert "Revert "Revert "Remove incorrect android_atomic_...64 use.""""

After fixing b/16874785.

This reverts commit f010a05c7e9a23b6083294aff4a8183ab01f686e.

Change-Id: I1645ca5d6f60595bf5d388913665ce4b8780b26d
f010a05c7e9a23b6083294aff4a8183ab01f686e 09-Aug-2014 Hans Boehm <hboehm@google.com> Revert "Revert "Revert "Remove incorrect android_atomic_...64 use."""

This reverts commit 66629e0de532376fa3ef43175ad05eccd21114da.

Change-Id: Ic298b345d0e500d18e4297b00e755ce3340f13fb
66629e0de532376fa3ef43175ad05eccd21114da 08-Aug-2014 Hans Boehm <hboehm@google.com> Revert "Revert "Remove incorrect android_atomic_...64 use.""

This reverts commit 9dc5c269f74ac76f62515e3d9558e67c6e63067d.
Adds a stdint.h include in case stdatomic.h stops including that.

Change-Id: If3dd1db1f1132c0f2dc1efb0a44617d3f36d7cfb
9dc5c269f74ac76f62515e3d9558e67c6e63067d 07-Aug-2014 Hans Boehm <hboehm@google.com> Revert "Remove incorrect android_atomic_...64 use."

This reverts commit 88b7541d682a6ad402eff15e58c9c792497096d7.

Change-Id: Ie701c308451a3697bb167aff119318b932133f90
88b7541d682a6ad402eff15e58c9c792497096d7 23-Jul-2014 Hans Boehm <hboehm@google.com> Remove incorrect android_atomic_...64 use.

Change the mExtras field in Binder.h to be a stdatomic.h atomic
value, and replace references to it with proper stdatomic.h calls.
This removes one of a small number of remaining 64 bit
android_atomic references. It also replaces the erroneously
non-atomic read accesses to mExtras.

It would be better if this used the C++11 <atomic> facility,
but we don't quite have that yet.

Bug: 16513433
Change-Id: Ibabb88d05025187ee1ce6c7f1aa670b133a547f8
6f4f3ab36c5ed1df84eb3a9f7475f0ac42952f58 06-Feb-2014 Colin Cross <ccross@android.com> binder: fix all warnings

Fix warnings related to casting pointers to ints, using %d or %ld to
print size_t/ssize_t, and unused parameters.

Change-Id: I7a13ba83d402952989c1f795cd9e880a95b98d9e
f683e0163a84d93448b9388126902242367cd961 05-Nov-2013 Serban Constantinescu <serban.constantinescu@arm.com> Binder: Make binder portable

Changes include
- Binder attempts to cast pointers to a int datatype
which is not sufficient on a 64-bit platform.

- This patch introduces new read/write functions into
Parcel that allow pointers to be written using the
uintptr_t datatype for compile-time data type size

- Change access specifier for the methods above.

- Binder uses the 64bit android_atomic_release_cas64
(aka cmpxchg)

Change-Id: I595280541e0ba1d19c94b2ca2127bf9d96efabf1
Signed-off-by: Matthew Leach <matthew.leach@arm.com>
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
555f89d8df316cdc5a25dbedb8614c2ac7a5e0a9 09-May-2012 Dianne Hackborn <hackbod@google.com> Add callback hack to find out when to reload system properties.

Every IBinder object can accept a new transaction to tell it that
it might want to reload system properties, and in the process
anyone can register a callback to be executed when this happens.

Use this to reload the trace property.

This is very much ONLY for debugging.

Change-Id: I55c67c46f8f3fa9073bef0dfaab4577ed1d47eb4
32397c1cd3327905173b36baa6fd1c579bc328ff 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
386a332b4f70718cccb08d5511d66e9f4f5bd409 06-May-2010 Dan Egnor <egnor@google.com> Make static versions of libutils and libbinder.

Fix some small static-initialization-order issues (and a static-
initializers-missing issue) that result from doing so. The static
libraries don't actually get used for anything real at the moment --
they're used for perf tests of bug 2660235.

Bug: 2660235
Change-Id: Iee2f38f79cc93b395e8d0a5a144ed92461f5ada0
83c0446f27b9542d6c2e724817b2b2d8d1f55085 23-May-2009 Mathias Agopian <mathias@google.com> some work to try to reduce the code size of some native libraries

- make sure that all binder Bn classes define a ctor and dtor in their respective library.
This avoids duplication of the ctor/dtor in libraries where these objects are instantiated.
This is also cleaner, should we want these ctor/dtor to do something one day.

- same change as above for some Bp classes and various other non-binder classes

- moved the definition of CHECK_INTERFACE() in IInterface.h instead of having it everywhere.

- improved the CHECK_INTERFACE() macro so it calls a single method in Parcel, instead of inlining its code everywhere

- IBinder::getInterfaceDescriptor() now returns a "const String16&" instead of String16, which saves calls to String16 and ~String16

- implemented a cache for BpBinder::getInterfaceDescriptor(), since this does an IPC. HOWEVER, this method never seems to be called.
The cache makes BpBinder bigger, so we need to figure out if we need this method at all.
c5b2c0bf8007562536b822eb060fc54a01f8e08b 20-May-2009 Mathias Agopian <mathias@google.com> move libbinder's header files under includes/binder
208059f67ed2dd9fa025e07fcb6954d3cb61c79e 19-May-2009 Mathias Agopian <mathias@google.com> checkpoint: split libutils into libutils + libbinder