This can be used to ask the kernel to disconnect its driver for a device
so usb_device_claim_interface() can claim it instead.
Also increased size of descriptor buffer and added some debugging logs
Change-Id: I4945196d957fb8493716eb9b7e5463c06b168ef1
Signed-off-by: Mike Lockwood <lockwood@android.com>
+ Handle EINTR in accept(), write() and select()
+ Fix a memory leak when deleting the mClients list
+ Fix typo in SocketListener.h
Change-Id: Ie68bb3e2dbefe0dfdaa22a5cd06a42dbc4c0f8aa
Since the "usb" group and ACCESS_USB permission will be used by regular apps
to access USB devices in host mode, we need a separate permission for the
device side MTP driver.
Change-Id: Ibb546b8726d61e041fc7c273f71929624ad1575b
Signed-off-by: Mike Lockwood <lockwood@android.com>
This is a dependency for the DNS proxy CLs.
This CL also adds a new socket for the netd process to inherit which
is owned by the inet group. (so only apps with the INTERNET
permission can use the DNS proxy...)
Change-Id: I8a51924e0ed56c6066f77e6f1b02d39bdadac51e
Add new usb_request struct to replace usb_endpoint, which is no longer needed.
Change-Id: Ia3637b3431a3597caced41bfec677ef0b044a453
Signed-off-by: Mike Lockwood <lockwood@android.com>
This allows converting from unique IDs to USB device names
Change-Id: I8e3b300790c01383aed8e3d4f547b54bcb7c2cd4
Signed-off-by: Mike Lockwood <lockwood@android.com>
We will use this for sharing USB file descriptors across address spaces via Binder
Change-Id: Iadbd3e0a4178f79d1d778fdfd5175f6fe0e2aaf5
Signed-off-by: Mike Lockwood <lockwood@android.com>
During testing of compilation, it was discovered that Cygwin actually
has off64_t.
Also the description was wrong for HAVE_OFF64_T
Change-Id: I6eb73d13da5a53fb03bf99ab7de82bfb6acab058
For platforms that have _FILE_OFFSET_BITS=32 and need to access large
files, we need some way to access 64-bit file APIs. This adds a hint to
allow programs to choose alternate APIs if possible.
Change-Id: Ifdc204df269350a22f52c0e4221e9d7d3b7a57fe
This is a dependency for the DNS proxy CLs.
This CL also adds a new socket for the netd process to inherit which
is owned by the inet group. (so only apps with the INTERNET
permission can use the DNS proxy...)
Change-Id: Ic3475c697913ba85805b4e49801b65e7a1d59289
Merge commit '7e65ede62065925e29b5b18f253758bb280f9383'
* commit '7e65ede62065925e29b5b18f253758bb280f9383':
Define HAVE_STAT_ST_MTIM and disable it under MinGW/Cygwin.
Merge commit '9cd8057b6e8f5fc1254a4ed19e8127b5091b5dce' into gingerbread-plus-aosp
* commit '9cd8057b6e8f5fc1254a4ed19e8127b5091b5dce':
Define HAVE_STAT_ST_MTIM and disable it under MinGW/Cygwin.
This is used by build\libs\host\CopyFile.c
Also define HAVE_PRINTF_ZD since printf %zd is not
supported on MinGW/Cygwin.
This is used by frmk/base/libs/utils/ZipFileRO.cpp
Change-Id: I570ac5dd0a5b256ee67ad62433f1226597da3ea4
ZipFileRO uses pread() to guarantee atomic reads at an offset, so use
the HAVE_PREAD flag to trigger off of. The only platform that doesn't
implement it directly is Windows.
Change-Id: Ic927611dc45b75ff8f672ed59afee5be1ad07ab4
ZipFileRO uses pread() to guarantee atomic reads at an offset, so use
the HAVE_PREAD flag to trigger off of. The only platform that doesn't
implement it directly is Windows.
Change-Id: I52d4e61010bb97e2d50af09943a2e94c0417bb5f
Merge commit 'df2f5a07aecac7be4ac2d1100668a0396fd256e7'
* commit 'df2f5a07aecac7be4ac2d1100668a0396fd256e7':
Qualify the source argument of atomic loads as a const pointer.
Merge commit 'd55f0adfb5ec4202ad5bd5d188e66c0f6a27b0aa' into gingerbread-plus-aosp
* commit 'd55f0adfb5ec4202ad5bd5d188e66c0f6a27b0aa':
Qualify the source argument of atomic loads as a const pointer.
I usually call this a "store/store barrier" for maximum clarity, but
the common way of describing it is "store barrier" or "store fence".
This doesn't use "dmb st" yet since we're waiting on the toolchain
update, but it gets the various macros and inline functions in place
so we can use them in the VM.
Bug 3003477
git cherry-pick 2ba5eec3972b4ce46feb677116534fcd3d136e0a
Change-Id: Ifd2d3588be96aa529d490789436cf48c962021ba
- look in /vendor/firmware/... in addition to /system/etc/firmware/... for firmware loading
- add /vendor/bin to path before /system/bin
- add /vendor/lib to ldpath before /system/lib
- configure appropriate permissions for /system/vendor/bin
- symlink /vendor -> /system/vendor
Change-Id: I0c06ca1e38a44f0c7024cee6cea8907aa93a4532
Merge commit '6fd75635d820754295557c300ccee89c643864cc' into gingerbread-plus-aosp
* commit '6fd75635d820754295557c300ccee89c643864cc':
Fetch peer credentials for local sockets
Fetch the PID, UID, and GID of the remote side of a local socket
connection in case any users of this library class want to check it.
Change-Id: Ia3230e6bc68ab6f93160df9f5996d2bf744b872c
Merge commit '556f09c426084b62c34742ee0810fc97ae37abf7'
* commit '556f09c426084b62c34742ee0810fc97ae37abf7':
It seems that Windows actually does have a header for <stdbool.h>.
Merge commit 'f74af26d1899fd85aa80dd65947dac89ef30a42c' into gingerbread-plus-aosp
* commit 'f74af26d1899fd85aa80dd65947dac89ef30a42c':
It seems that Windows actually does have a header for <stdbool.h>.
Merge commit '095a6a6ecb8039067c077db381bd02abc2496422'
* commit '095a6a6ecb8039067c077db381bd02abc2496422':
get rid of compile time warning: "warning: ‘android_ids’ defined but not used"
Merge commit '739cd9d2d4718913889a15d95c840506a2af04d1' into gingerbread-plus-aosp
* commit '739cd9d2d4718913889a15d95c840506a2af04d1':
get rid of compile time warning: "warning: ‘android_ids’ defined but not used"
Merge commit 'bdcf98ddbf2022ef894dfd7f9278e6f345e2c2df'
* commit 'bdcf98ddbf2022ef894dfd7f9278e6f345e2c2df':
Add API to add a route to IPv4/IPv6 host/gateway.
- adds ifc_set_hwaddr
- adds hwaddr command to netcfg
- code reuse: dhcp_configure calls ifc_configure; inet_ntoa is used for printing
- consistency: use net.XXX.dnsX properties in favor of dhcp.XXX.dnsX properties
(see related change to WifiStateTracker)
- updated system/core/nexus to use new headers, although not sure if
anybody still uses nexus
Change-Id: Idd70c0ac6e89b38e86816578c33eff805d30cac4
From the functionality, the function gglBitBlti() implemented bit-block
(image) transfer operation in which several bitmaps are combined into
one using a raster operator. Renaming to gglBitBlit() should be
explicit.
Change-Id: I23886623b5421131cf7c7bfb8ec67c3809566c93
Merge commit 'f2af88e81af5efb2d585963507f798d5a8b93d67' into gingerbread-plus-aosp
* commit 'f2af88e81af5efb2d585963507f798d5a8b93d67':
Tracking merge of dalvik-dev to gingerbread
Merge commit '1298bb79938cb1f4cf920433b86716bd4108de0f'
* commit '1298bb79938cb1f4cf920433b86716bd4108de0f':
Set the modes for rc.* files in /system/etc
Merge commit '96a2bb622d38f3c875997e4cacb423fa9ef4ea76' into gingerbread-plus-aosp
* commit '96a2bb622d38f3c875997e4cacb423fa9ef4ea76':
Set the modes for rc.* files in /system/etc
This can be used to eliminate race conditions in clients that operate immediately
on the currently connected device list.
Signed-off-by: Mike Lockwood <lockwood@android.com>
Change-Id: I14954b9fcc84239950ead6bdc1a0a888882c2226
Invoking LOG_ASSERT, LOG_ALWAYS_FATAL or LOG_ALWAYS_FATAL_IF variadic macros
without the printf format string arg caused compilation errors because the
variable arg list (__VA_ARGS__) was eventually passed to
__android_log_assert() func in place of a required parameter. This error
only occured in debug builds because LOG_ASSERT() is a no-op in release
builds. This change allows debug builds to succeed.
Change-Id: I7e7b7de3e501133468ce083e0e0d6e699dd59667
Signed-off-by: Chris Pearson <christopherx.c.pearson@intel.com>
Merge commit '0796f618775b34e14ff624bcfca828d55183b4c5'
* commit '0796f618775b34e14ff624bcfca828d55183b4c5':
DBUS is not fully implemented. Disable it for now
Merge commit '635dc574e9009f38b34b2e84b6c1a2b5efd2ebc9'
* commit '635dc574e9009f38b34b2e84b6c1a2b5efd2ebc9':
Add a HAVE define for pthread_setname_np().
Merge commit '57dbb2cb3767c625cfc8d15406b2c4d6b53bb7c6' into gingerbread-plus-aosp
* commit '57dbb2cb3767c625cfc8d15406b2c4d6b53bb7c6':
Add a HAVE define for pthread_setname_np().
This is to allow using a thread that is capable of calling through JNI to Java code
to report USB device attached/removed events.
Change-Id: Ia58592607a2c1f4357b31072044f5db5617d7f5b
Signed-off-by: Mike Lockwood <lockwood@android.com>
Due to conflicts with recent WebKit, we need to call it
HAVE_ANDROID_PTHREAD_SETNAME_NP.
https://review.source.android.com/#change,15227 has the original
change, which was reverted after the conflict was found.
Change-Id: I7111960a16505558338756dba91eb50cadb582ff
Include <stddef.h> to get definition of size_t. Remove inclusion
of <stdint.h>, which doesn't seem to be needed.
Change-Id: Ib7ff231b5ec4b8c672084801fbb294a50cb7c3d7
Merge commit '2c4676de62cf8ca7e3759f7f709e29c623495f55'
* commit '2c4676de62cf8ca7e3759f7f709e29c623495f55':
Define inline atomic operations for x86 and ARM.
Merge commit '93b0cb40c18cae594c931677be2b9214420610b7' into gingerbread-plus-aosp
* commit '93b0cb40c18cae594c931677be2b9214420610b7':
Define inline atomic operations for x86 and ARM.
This change moves the ARM definitions into GCC extended inline
assembler. In addition, the same set of x86 definitions are now
shared among all x86 targets.
Change-Id: I6e5aa3a413d0af2acbe5d32994983d35a01fdcb3
Merge commit '67e6fcd19533f54ca37cbe72425f55a40a7f0333'
* commit '67e6fcd19533f54ca37cbe72425f55a40a7f0333':
added vendor ID for http://www.onthegovideo.com/
Fix build - cpu-features is ARM-specific
eliminate a compiler warning: signed/unsigned length
adb: optimize socket-list-walking code
adb: remove unneeded assignment of id to zero
adb: clean up 0 --> NULL for pointers
- creates proper ifc.h and dhcp.h headers for libnetutils
Adds support for UBFX to JIT and Disassembler
It indicates if the underlying libc provides pthread_setname_np().
Change-Id: Ifef7730970033e834daf2fa710919722d64673e1
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
- adds ifc_set_hwaddr
- adds hwaddr command to netcfg
- code reuse: dhcp_configure calls ifc_configure; inet_ntoa is used for printing
- consistency: use net.XXX.dnsX properties in favor of dhcp.XXX.dnsX properties
(see related change to WifiStateTracker)
- updated system/core/nexus to use new headers, although not sure if
anybody still uses nexus
Change-Id: Idd70c0ac6e89b38e86816578c33eff805d30cac4
Missing a #define to map android_atomic_swap to its new name. Worked
fine in the other branches, because nobody was using android_atomic_swap
in the other branches.
Change-Id: I0e730e9823ac5cd2fee5a3f856ce05d36df5d87e
Added new atomic functions, renamed some old ones. Some #defines have
been added for backward compatibility.
Merged the pre- and post-ARMv6 implementations into a single file.
Renamed the semi-private __android_membar_full_smp to USE_SCREAMING_CAPS
since that's more appropriate for a macro.
Added lots of comments.
Note Mac OS X primitives have not been tested.
Change-Id: If827260750aeb61ad5c2b760e30658e29dbb26f2
Added atomic-inline.h. Added a platform-specific memory barrier call
there.
Added android_atomic_acquire_cmpxchg() and android_atomic_release_store().
Not tested on Mac OS X or SH.
Added memory barrier calls to linux-x86 atomics. Mac OS X has barrier
functions already. sh isn't really SMP-ready. linux-arm needs work
(to be done in a separate change).
Updated the makefile to make the SMP state visible to the code here.
Note that host binaries are NOT built with SMP enabled; while our hosts
are very likely SMP, it's not worth figuring out e.g. whether it's okay
to use the SSE2 mfence instruction or have to use something else. We
haven't had barriers enabled in host tools before, so there's probably
no need to stat now.
Removed quasiatomic 64-bit calls (now part of Dalvik).
Change-Id: I42ae05f5db2cc9a5b64ad87f15481e2838371f1d
Added atomic-inline.h. Added a platform-specific memory barrier call
there.
Added android_atomic_acquire_cmpxchg() and android_atomic_release_store().
Not tested on Mac OS X or SH.
Added memory barrier calls to linux-x86 atomics. Mac OS X has barrier
functions already. sh isn't really SMP-ready. linux-arm needs work
(to be done in a separate change).
Updated the makefile to make the SMP state visible to the code here.
Note that host binaries are NOT built with SMP enabled; while our hosts
are very likely SMP, it's not worth figuring out e.g. whether it's okay
to use the SSE2 mfence instruction or have to use something else. We
haven't had barriers enabled in host tools before, so there's probably
no need to stat now.
Removed quasiatomic 64-bit calls (now part of Dalvik).
Change-Id: I49e5e6c8abe70f304cdedb9d7b8e6e65f8925815
This change does not affect existing behavior at all and makes
the file compatible with new toolchain.
Change-Id: Ia33bb9372d1705ec538b414bf69773f093e4543c
init now creates files in /dev/bus/usb/ for user access to USB devices.
Files are chmod 660 with group AID_USB.
Signed-off-by: Mike Lockwood <lockwood@android.com>
Supports access to Linux usbdevfs on both device and Linux host.
Change-Id: Ie88a5193be3ee715792b10b34b3da32ffc4ca57b
Signed-off-by: Mike Lockwood <lockwood@android.com>
init now creates files in /dev/bus/usb/ for user access to USB devices.
Files are chmod 660 with group AID_USB.
Signed-off-by: Mike Lockwood <lockwood@android.com>
Typical usage is 'run-as <package-name> <command>' to run <command>
in the data directory, and the user id, of <package-name> if, and only
if <package-name> is the name of an installed and debuggable application.
This relies on the /data/system/packages.list file generated by the
PackageManager service.
BEWARE: This is intended to be available on production devices !
On devices that use a pppd for cellular network access, a pppd-ril
process needs to run as root to configure the connection. Changing
the process to suid-root in the build image is the only known way
to avoid needing to remount the system image at boot to accomplish
the same thing.
Change-Id: I6c778391b8040ee818343e304891e7d341cc729b
value of sbrk(0) in UNIX. In terms of dlmalloc and our proprietary
contiguous mspace class, this is the highest address returned by its
morecore method.
source of the aforementioned build breakage was then errant include of
this header when stddef.h was intended. Nothing in this file uses any
of the symbols exported from stdint.h, only symbols from stddef.h.
This routine allows creating a contiguous mspace from raw mapped memory.
In turn, this will enable preallocation of the 3 heap spaces, which will help
remembered sets and zygote/app checks given pointer values.
This routine allows creating a contiguous mspace from raw mapped memory.
In turn, this will enable preallocation of the 3 heap spaces, which will help
remembered sets and zygote/app checks given pointer values.
POSIX seems to have chosen open_memstream() over the BSD variant. We
want something for Dalvik that will work on both GNU/Linux and Android,
so this is open_memstream() implemented in terms of BSD funopen().
For Windows there's just a stub that calls abort().
I'm putting this in libcutils since it seems inappropriate for bionic
(which provides the BSD alternatives) but isn't Dalvik-specific.
Detect byte endianness when compiled in x86-64 mode in Mac OS X 10.6
Snow Leopard environments or above. Allows compilation of host binaries
in these environments without any changes from its default stock
configuration.
This change doesn't require that the binaries be built in 64-bit, but it
does allow this. One could still use "gcc_select 4.0" with the 10.4 SDK
installed on Snow Leopard to compile in 32-bit mode.
Change-Id: I155a531a9bff450dd6c077b5275652731c59a908
Merge commit '31b5d4b98e8079a1d97aff8dc3e0824b95d1e294'
* commit '31b5d4b98e8079a1d97aff8dc3e0824b95d1e294':
NDK header for accessing pixels of a java bitmap
Merge commit '45e5ca1c7047b20d36bd31b30b7d2a4786baab0f' into eclair-mr2-plus-aosp
* commit '45e5ca1c7047b20d36bd31b30b7d2a4786baab0f':
NDK header for accessing pixels of a java bitmap
Platforms differ on whether sys/sendfile.h or sys/socket.h is where to
find the declaration for sendfile().
Change-Id: Ib6e882534b7dc605d30aefed55732dc1ee2b6772
Platforms differ on whether sys/sendfile.h or sys/socket.h is where to
find the declaration for sendfile().
Change-Id: Ib6e882534b7dc605d30aefed55732dc1ee2b6772
Merge commit '38b2ddc4a7cf1c47397af118a6d466d45f59da04'
* commit '38b2ddc4a7cf1c47397af118a6d466d45f59da04':
cutils: Add support for reading a processes scheduler policy
Merge commit '17bfbd3ccbb798aa4068cd59150ce712660a62a4' into eclair-mr2-plus-aosp
* commit '17bfbd3ccbb798aa4068cd59150ce712660a62a4':
cutils: Add support for reading a processes scheduler policy
Merge commit '62f39c105af8789fd9308fa6a5b91f0963a7c59b'
* commit '62f39c105af8789fd9308fa6a5b91f0963a7c59b':
adb: Add "adb disconnect" command for disconnecting TCP/IP devices.
Add support for Acer devices
adb: Add USB Vendor IDs for LG and Huawei
Add NOTICE file and license tag for adb
adb: Clean up argument passing for create_service_thread()
Revert "adb: Another attempted workaround for the adb disconnect problem."
libsysutils: Fix some bugs in NetlinkListener and NetlinkEvent
added SuperH atomic support to libcutils
This introduces a new HAVE_SCHED_H arch define, which is used
to prevent from building sched_policy.c during the Windows SDK.
Change-Id: I3667857a4ae7d6baaf1efd1cd187a5baf91419d8
This optimized implementation of the SHA1 algorithm is about 28%
faster than the old one (on sapphire hardware) but assumes
little-endianness. Add it, but continue using the old implementation
on big-endian hardware.
This adds HAVE_STDINT_H and HAVE_STDBOOL_H to the configuration. We've
been using HAVE_STDINT_H for a while but just never bothered to define
it, and we're about to start using HAVE_STDBOOL_H.
I enabled them for the linux and darwin targets, and left it undefined
for freebsd/windows.
nexus: Change field separator from : to ' '
Signed-off-by: San Mehat <san@google.com>
nexus: Add some prototypes for stuff to come
Signed-off-by: San Mehat <san@google.com>
nexus: Add some TODOs
Signed-off-by: San Mehat <san@google.com>
libsysutils: Put a proper token parser into the FrameworkListener which
supports minimal \ escapes and quotes
Signed-off-by: San Mehat <san@google.com>
nexus: Fix a lot of bugs
Signed-off-by: San Mehat <san@google.com>
libsysutils: Remove some debugging
Signed-off-by: San Mehat <san@google.com>
nexus: Send broadcasts for supplicant state changes
Signed-off-by: San Mehat <san@google.com>
nexus: Plumb DHCP listener state changes to NetworkManager
Signed-off-by: San Mehat <san@google.com>
nexus: Make the SupplicantState strings more parsable
Signed-off-by: San Mehat <san@google.com>
nexus: Broadcast a message when dhcp state changes.
Signed-off-by: San Mehat <san@google.com>
nexus: Add a few new response codes
Signed-off-by: San Mehat <san@google.com>
nexus: Rename ErrorCode -> ResponseCode
Signed-off-by: San Mehat <san@google.com>
nexus: Add DHCP event broadcasting. Also adds the framework for
tracking supplicant 'searching-for-AP' state
Signed-off-by: San Mehat <san@google.com>
nexus: REmove WifiScanner
Signed-off-by: San Mehat <san@google.com>
nexus: Change the way scanning works. scanmode can now be selected
independantly of triggering a scan. Also adds rxfilter support
Signed-off-by: San Mehat <san@google.com>
nexus: Add support for configuring bluetooth coexistence scanning and modes
Signed-off-by: San Mehat <san@google.com>
nexus: use case insensitive match for property names
Signed-off-by: San Mehat <san@google.com>
nexus: Rollup of a bunch of stuff:
- 'list' command now takes an argument to match against
- InterfaceConfig has been moved into the Controller base (for now)
- DhcpClient now has some rudimentry locking
- process 'ADDRINFO' messages from dhcpcd
- Drop tertiary dns
Signed-off-by: San Mehat <san@google.com>
nexus: Clean up some of the supplicant variable parsing and add 'wifi.current'
Signed-off-by: San Mehat <san@google.com>
nexus: Add driver-stop/start, initial suspend support
Signed-off-by: San Mehat <san@google.com>
nexus: Add Controller suspend/resume callbacks, as well as locking
Signed-off-by: San Mehat <san@google.com>
nexus: Make ARP probing configurable for DhcpClient
Signed-off-by: San Mehat <san@google.com>
nexus: Add linkspeed / rssi retrieval
Signed-off-by: San Mehat <san@google.com>
nexus: Add WifiStatusPoller to track RSSI/linkspeed when associated
Signed-off-by: San Mehat <san@google.com>
nexus: Disable some debugging and add 'wifi.netcount' property
Signed-off-by: San Mehat <san@google.com>
nexus: Replace the hackish property system with something more flexible with namespaces
Signed-off-by: San Mehat <san@google.com>
libsysutils: Fix a few bugs in SocketListener
Signed-off-by: San Mehat <san@google.com>
nexus: PropertyManager: Add array support
Signed-off-by: San Mehat <san@google.com>
nexus: Clean up properties
Signed-off-by: San Mehat <san@google.com>
nexus: WifiController: Change name of 'CurrentNetwork' property
Signed-off-by: San Mehat <san@google.com>
Merge commit '2d0a6ca27c6f75eb0ec881fe4ad0b4f478d941c0'
* commit '2d0a6ca27c6f75eb0ec881fe4ad0b4f478d941c0':
nexctl: Refactor so Nexus can be tested from scripts easily.
libsysutils: Move to a null terminated string protocol using space as a field separator.
Merge commit '1f75d709c10f49d2e2390b888e766bcfd17da860'
* commit '1f75d709c10f49d2e2390b888e766bcfd17da860':
Add VPN and Keystore services and data directories.
-- changed the default mode to 0770 for keystore with the new user 'keystore'.
-- add the keystore service providing the basic key lookup/install/remove, but
only keystore user can access the key content.
This is needed by the MemoryFile changes in
https://android-git.corp.google.com/g/2714
where it is used to find out whether a file descriptor
refers to an ashmem region.
asocket_connect()
asocket_accept()
asocket_read()
asocket_write()
These calls are similar to the regular syscalls, but can be aborted with:
asocket_abort()
Calling close() on a regular POSIX socket does not abort blocked syscalls on
that socket in other threads.
After calling asocket_abort() the socket cannot be reused.
Call asocket_destory() *after* all threads have finished with the socket to
finish closing the socket and free the asocket structure.
The helper is implemented by setting the socket non-blocking to initiate
syscalls connect(), accept(), read(), write(), then using a blocking poll()
on both the primary socket and a local pipe. This makes the poll() abortable
by writing a byte to the local pipe in asocket_abort().
asocket_create() sets the fd to non-blocking mode. It must not be changed to
blocking mode.
Using asocket will triple the number of file descriptors required per
socket, due to the local pipe. It may be possible to use a global pipe per
process rather than per socket, but we have not been able to come up with a
race-free implementation yet.
All functions except asocket_init() and asocket_destroy() are thread safe.
Merge commit 'ebefc48e61a7d5cf2a3228e6c8729feeeb42d1b4'
* commit 'ebefc48e61a7d5cf2a3228e6c8729feeeb42d1b4':
Expose the stable/frozen log-related definitions of <cutils/logd.h> into a new header: <android/log.h>
Document internal CodeGenerator interface
Move license to a separate license file.
Define a public API for calling libacc.
Update the "acc" test program to use the public API.
Move "main.cpp" and test scripts into the tests subdirectory.
Move test data from tests to tests/data
Remove stale test data.
Merge commit 'fee77ec093f78c1bb0ce85aa16d7ee8e8fa06f8a'
* commit 'fee77ec093f78c1bb0ce85aa16d7ee8e8fa06f8a':
don't use cdefs.h as it breaks the windows build.
asocket_connect()
asocket_accept()
asocket_read()
asocket_write()
These calls are similar to the regular syscalls, but can be aborted with:
asocket_abort()
Calling close() on a regular POSIX socket does not abort blocked syscalls on
that socket in other threads.
After calling asocket_abort() the socket cannot be reused.
Call asocket_destory() *after* all threads have finished with the socket to
finish closing the socket and free the asocket structure.
The helper is implemented by setting the socket non-blocking to initiate
syscalls connect(), accept(), read(), write(), then using a blocking poll()
on both the primary socket and a local pipe. This makes the poll() abortable
by writing a byte to the local pipe in asocket_abort().
asocket_create() sets the fd to non-blocking mode. It must not be changed to
blocking mode.
Using asocket will triple the number of file descriptors required per
socket, due to the local pipe. It may be possible to use a global pipe per
process rather than per socket, but we have not been able to come up with a
race-free implementation yet.
All functions except asocket_init() and asocket_destroy() are thread safe.
Merge commit '414ff7d98ac8d7610a26206335954ad15f43f3ac'
* commit '414ff7d98ac8d7610a26206335954ad15f43f3ac':
Move fdevent from libcutils into adb directory. ADB is the only client of this API, and I intend to modify it extensively to clean its codebase soon.
Merge commit '722a5c0462f38827f4097065bfc3826b9e0e9fb4'
* commit '722a5c0462f38827f4097065bfc3826b9e0e9fb4':
Add support for "standalone months" to tztime's strftime().
The idea here is that some languages need a different form of the month
name in constructions like "January 2" than in "January 2009", since the
one in the "January 2" case really means "of January." So with this change,
a format string of "%-B" will use the standalone month, while "%B" will
continue to use the format month.
Merge commit 'c73d9e43a0c98a87222ef0c8749d6abba06c7778'
* commit 'c73d9e43a0c98a87222ef0c8749d6abba06c7778':
libsysutils: Add multiple client support and fix some bugs
nexus: Implement wifi scanner and fix a lot of bugs
Merge commit '747baadddb37737b0ecf83f6147a5e3252a34b12'
* commit '747baadddb37737b0ecf83f6147a5e3252a34b12':
libsysutils: New C++ system convenience library
This library contains re-usable classes for common
system level daemons. Initial consumers of this library
are 'nexus' and 'vold2'
Signed-off-by: San Mehat <san@google.com>