Commit Graph

1579 Commits

Author SHA1 Message Date
Dan Albert 06d60af714 am 517f65da: am a68c8148: Merge "Create libbase."
* commit '517f65daef177d06d7835300a1c23ce3409c0643':
  Create libbase.
2015-03-15 22:33:53 +00:00
Elliott Hughes 51d98035b1 am c8d5e230: am f1c2ba49: Merge "Remove unused header file."
* commit 'c8d5e2307badc6bfcb76c4dec43a07d6b9d885cb':
  Remove unused header file.
2015-03-15 22:33:51 +00:00
Dan Albert 98ff77204c Create libbase.
Move StringPrintf and the string based file I/O from libutils to
libbase.

Change-Id: I0297a6063874b9d92100e0dd5123fddfbda932fe
2015-03-14 16:36:18 -07:00
Elliott Hughes c2f0ed64ce Remove unused header file.
This library no longer exists.

Change-Id: I5582b41b70691171b1ac5f2bffd623f2b2fc10e5
2015-03-14 09:28:49 -07:00
Jeff Sharkey 707d4f2ee8 Merge "Define enum class for NetlinkEvent actions." 2015-03-13 20:47:47 +00:00
Jeff Sharkey e4f394087d Define enum class for NetlinkEvent actions.
This lets us use it for switch statements, and gives us stronger
type safety.

Change-Id: Idb3ad7098657a09f13c95dc7070611d35ede66ae
2015-03-13 13:27:56 -07:00
Jeff Brown e7d54f80cb Fix issues related to removing Looper callbacks after close.
When a file descriptor is closed before removing it from the
epoll set, it will normally be removed automatically from the
epoll set by the kernel.  However if there exists a duplicate
then the original file descriptor may remain in the set and
continue to receive events until all duplicates have been closed.

Unfortunately due to kernel limitations we need to rebuild the epoll
set from scratch because it may contain an old file handle that we are
now unable to remove since its file descriptor is no longer valid.
No such problem would have occurred if we were using the poll system
call instead, but that approach carries others disadvantages.

Bug: 19715279
Change-Id: If1ab8ebda0825755a416d513e888942a02ee3948
2015-03-12 19:44:49 -07:00
Jeff Brown 7a0310ef67 Fixed subtle bugs related to file descriptor recycling.
Added code to protect against situations that may occur when a
Looper callback has the side-effect of closing the file descriptor that
it is watching before it returns.  This code pattern is very
convenient for implementation but it does expose issues in how
the list of callbacks is maintained.  In particular, we
need to watch out for file descriptors which have been reused.

This change may resolve previously unexplained ANRs associated with
log messages such as: "Error modifying epoll events for fd 44, errno=2"

Bug: 10349083
Change-Id: I20eedf6ffbdeda382653ca0104962505194741b0
2015-03-11 15:00:36 -07:00
Jeff Brown 27e5721860 Rename Looper::isIdling() to isPolling() to resolve confusion.
The loop isn't technically idle at this time, it's just checking
whether any file descriptors have pending events.  However it's
still a good signal as to whether the loop is alive.

Bug: 19532373
Change-Id: I555c473e70ffd8a56e1b10aa60026eb674a16de9
2015-03-11 15:00:36 -07:00
Andy Hung 17e8158635 Merge "Fix comment on AUDIO_FORMAT_PCM_SUB_8_24_BIT" 2015-03-10 23:25:02 +00:00
Andy Hung 4ff72b52a2 Fix comment on AUDIO_FORMAT_PCM_SUB_8_24_BIT
Should be Q8.23 (24 bits packed in the least significant
3 bytes).

Change-Id: If5ca27c27249487e28c0be42ebdd283308ff8552
2015-03-10 16:01:49 -07:00
Eino-Ville Talvala 5938f30921 Merge "Add ANativeWindow dataSpace; update graphics formats, color spaces" 2015-03-06 22:13:06 +00:00
Mark Salyzyn ad966e88f5 am ddd1ea71: am e79201e4: am 4487c605: Merge changes I0ec0fe3e,I9e5fccba
* commit 'ddd1ea71b4260981fb4814da4b6580c16bd8bb7f':
  liblog: logprint use <endian.h>
  private: Add event payload structures to android_logger.h
2015-03-04 23:24:38 +00:00
Mark Salyzyn e79201e4cb am 4487c605: Merge changes I0ec0fe3e,I9e5fccba
* commit '4487c605eaeea2b85c8511fe915a286c3aaf4da4':
  liblog: logprint use <endian.h>
  private: Add event payload structures to android_logger.h
2015-03-04 22:44:41 +00:00
Mark Salyzyn fa1c063feb private: Add event payload structures to android_logger.h
- common android_event_header_t
- android_event_int_t ANDROID_TYPE_INT payload
- android_log_event_int_t single ANDROID_TYPE_INT event
- android_event_long_t ANDROID_TYPE_LONG payload
- android_log_event_long_t single ANDROID_TYPE_LONG event
- android_event_string_t ANDROID_TYPE_STRING payload
- android_log_event_string_t single ANDROID_TYPE_STRING event

Change-Id: I9e5fccba38e3f230c2c4ec7dec51ed110c460f95
2015-03-04 12:48:04 -08:00
Eino-Ville Talvala 03743414cb Add ANativeWindow dataSpace; update graphics formats, color spaces
First stage of adding a new dataSpace field for ANativeWindow,
for communicating format- (and endpoint-) dependent information
about graphics buffers. For most formats, dataSpace describes the
color space of the buffer, while format describes the memory layout.

For some formats, the dataSpace may also specify that the buffer
contains depth measurements, encoded images, or other kinds of
information that is not necessarily a simple 2D image.
Rename the existing colorspace enumeration to dataspace, with an added
dataspace for depth, and sRGB gamma-corrected and linear colorspaces.

Add in a definition for Android depth point clouds as a
variable-length list of float-triplet coordinates, as the underlying
layout of buffers with format HAL_PIXEL_FORMAT_BLOB and dataSpace of
HAL_DATASPACE_DEPTH.

Also remove now-unnecessary sRGB HAL graphics formats, and remove the
alias RAW_SENSOR that was left in to ease transition to RAW16.

Change-Id: I8797f67fb9c2b18da5975f2145303ca0bf98e62d
2015-03-04 11:59:51 -08:00
Mark Salyzyn 75a2283d6b am 8c52e3b7: am d851c80f: am ae19b631: Merge "liblog: add pstore read"
* commit '8c52e3b79f8ca9ccef5d562f16a0c275f58b8538':
  liblog: add pstore read
2015-02-26 17:42:31 +00:00
Mark Salyzyn d851c80f0d am ae19b631: Merge "liblog: add pstore read"
* commit 'ae19b63168d1b958898180979156e2a4169ee4c2':
  liblog: add pstore read
2015-02-26 17:29:05 +00:00
Mark Salyzyn 6eef417119 liblog: add pstore read
Used to pull the Android log messages after a reboot. Adding
an ANDROID_LOG_PSTORE flag to the mode parameter in calls to
android_logger_list_alloc() and android_logger_list_alloc_time().
The side effects are that android_logger_clear() and
android_logger_list_read() will react with the user space
pstore driver. Forms a companion to the pstore console logs.

Change-Id: I7bb07b87b3bf73f059a21af3f810af37c7715b6d
2015-02-26 06:37:35 -08:00
Mark Salyzyn 581a20b8ed am ac947104: am f5579498: am 110166c1: Merge "liblog: introduce ANDROID_LOG_* flags"
* commit 'ac9471041e5c2d2903ce6470a35ba5b3baf80aa0':
  liblog: introduce ANDROID_LOG_* flags
2015-02-25 18:24:17 +00:00
Mark Salyzyn f5579498d9 am 110166c1: Merge "liblog: introduce ANDROID_LOG_* flags"
* commit '110166c1dbcbe26e510ac3fdaf2e1fcc7efbcc4e':
  liblog: introduce ANDROID_LOG_* flags
2015-02-25 18:12:48 +00:00
Mark Salyzyn 2d3f38a6b8 liblog: introduce ANDROID_LOG_* flags
Move away from using POSIX open(2) flags and introduce ANDROID_LOG_* flags to
replace them. Add security by preventing random mode flags from getting into
underlying POSIX calls. ANDROID_LOG_* flags overlap POSIX O_* flag definitions.

Change-Id: Ib32bb64c287e8bf150be62242e1ba46bb37839fc
2015-02-25 17:44:18 +00:00
Narayan Kamath 9d8889c598 am f6fae931: am f9df4b13: am c40cf1ce: Merge "Remove useless refCounting from FileMap."
* commit 'f6fae93164ec8505153241b24ccce85cc4ac0f9e':
  Remove useless refCounting from FileMap.
2015-02-24 13:09:47 +00:00
Narayan Kamath f9df4b13bc am c40cf1ce: Merge "Remove useless refCounting from FileMap."
* commit 'c40cf1ce9d6910685bf2242c1db390af00684d9d':
  Remove useless refCounting from FileMap.
2015-02-24 12:56:45 +00:00
Narayan Kamath 6832a7a4e0 Remove useless refCounting from FileMap.
Nobody ever called acquire() so release() was always
equivalent to delete. Just use delete instead so that
people can use unique_ptr directly (or shared_ptr if
they really want refcounts).

Change-Id: I9e3ad5e0f6a4fcc4e02e5a2ff7ef9514fe234415
2015-02-23 15:49:43 +00:00
Andreas Gampe 9f08ce8886 am f320e8e5: am ed318bff: Merge "log.h: Fix typo"
* commit 'f320e8e53df75ba50db755c89843251e481dc696':
  log.h: Fix typo
2015-02-11 02:48:05 +00:00
Mark Salyzyn ee632f734a am 8a5198a1: am fd867303: Merge changes I420b5b8a,Ica23fe41
* commit '8a5198a1505a4dc7d4722bb58a6eb809b0dd5d2c':
  log.h: wrap android_testLog around __android_log_is_loggable
  log.h: deprecate CONDITION
2015-02-11 02:48:04 +00:00
Mark Salyzyn 2044a34ca7 am 2671ffb6: am 95f7ecbd: Merge "liblog: add __android_log_is_loggable()"
* commit '2671ffb6191aadf17cd8770ffcc235bc0591e03f':
  liblog: add __android_log_is_loggable()
2015-02-11 02:48:01 +00:00
Andreas Gampe f320e8e53d am ed318bff: Merge "log.h: Fix typo"
* commit 'ed318bff41c4515ca79a11afb97507a452e9fcd3':
  log.h: Fix typo
2015-02-10 16:53:30 +00:00
Mark Salyzyn 8a5198a150 am fd867303: Merge changes I420b5b8a,Ica23fe41
* commit 'fd867303861eb25bf7973739e71dc29b6356a336':
  log.h: wrap android_testLog around __android_log_is_loggable
  log.h: deprecate CONDITION
2015-02-10 16:53:24 +00:00
Mark Salyzyn 2671ffb619 am 95f7ecbd: Merge "liblog: add __android_log_is_loggable()"
* commit '95f7ecbd38df680c5295295bd2277f4b26865f1f':
  liblog: add __android_log_is_loggable()
2015-02-10 16:52:48 +00:00
Andreas Gampe f45bbe496f log.h: Fix typo
Change-Id: I6b5e9bc9d40e5e5ecf9f50f7392675391e6f18e6
2015-02-09 16:13:33 -08:00
Mark Salyzyn 1df92e523e log.h: wrap android_testLog around __android_log_is_loggable
- take android_testLog from the bonepile and resurrect
- android_testLog is used, and makes sense in its current context
  as a holder for Android Logging policy.
- Default level when not specified is ANDROID_LOG_VERBOSE for
  eng and userdebug, and ANDROID_LOG_DEBUG for user.

NB: Properties, which are associated with __android_log_is_loggable are
not to be adjusted in user release; it would be useful at that juncture to
return a constant of (0) for VERBOSE, and a (1) for others on user builds.
Or default level to drop to ANDROID_LOG_DEBUG for all in future.

Bug: 17760225
Change-Id: I420b5b8a94d53d664c6a8b13546ebc424a147923
2015-02-09 15:37:32 -08:00
Mark Salyzyn f5af82edf3 log.h: deprecate CONDITION
- replace CONDITION with __predict_false to match with bionic

Change-Id: Ica23fe41cf9a7ea5eaf1b8552780af9ec7827808
2015-02-09 15:25:48 -08:00
Mark Salyzyn 956870518e liblog: add __android_log_is_loggable()
- Add new liblog API __android_log_is_loggable(prio, tag, def)
- future plan to integrate this into the runtime checks and into
  the logd daemon for filtration. Inert for now.

Bug: 17760225
Change-Id: I16395b4d42acc08f0209f55a1cbf87b0b2112898
2015-02-09 22:12:59 +00:00
Christopher Ferris 14b964f52e am e6ed63e6: am c9c401e6: Merge "Move map data into backtrace data proper."
* commit 'e6ed63e610c5e6a56b04a5168e873dfa48c73aec':
  Move map data into backtrace data proper.
2015-02-09 04:13:37 +00:00
Elliott Hughes bc32de07e9 am b164b103: am 5e753100: Merge "Clean up reading and writing in init."
* commit 'b164b103ebdcb2b567079f30e38d878a21a9b632':
  Clean up reading and writing in init.
2015-02-09 04:13:02 +00:00
Christopher Ferris e6ed63e610 am c9c401e6: Merge "Move map data into backtrace data proper."
* commit 'c9c401e64ba00e8fa295cae30b2b0035fae1183a':
  Move map data into backtrace data proper.
2015-02-06 23:43:11 +00:00
Christopher Ferris c9c401e64b Merge "Move map data into backtrace data proper." 2015-02-06 23:29:00 +00:00
Christopher Ferris 12385e3ad0 Move map data into backtrace data proper.
The backtrace structure used to include a pointer to a backtrace_map_t
that represented the map data for a particular pc. This introduced a
race condition where the pointer could be discarded, but the backtrace
structure still contained a pointer to garbage memory. Now all of the map
information is right in the structure.

Bug: 19028453
Change-Id: If7088a73f3c6bf1f3bc8cdd2bb4b62e7cab831c0
2015-02-06 15:00:09 -08:00
Elliott Hughes b164b103eb am 5e753100: Merge "Clean up reading and writing in init."
* commit '5e753100c32c7b42ae4306a8023c419defd34c4e':
  Clean up reading and writing in init.
2015-02-06 22:33:18 +00:00
Elliott Hughes f682b4786a Clean up reading and writing in init.
This isn't particularly useful in and of itself, but it does introduce the
first (trivial) unit test, improves the documentation (including details
about how to debug init crashes), and made me aware of how unpleasant the
existing parser is.

I also fixed a bug in passing --- unless you thought the "peboot" and "pm"
commands were features...

Bug: 19217569
Change-Id: I6ab76129a543ce3ed3dab52ef2c638009874c3de
2015-02-06 14:20:30 -08:00
Elliott Hughes 07e0ee7cf4 am dcbeb41a: am d558530b: Merge "Fix Windows build."
* commit 'dcbeb41a673e3fa6eb8344e9c806cb8a5f7eeff5':
  Fix Windows build.
2015-02-05 20:15:04 +00:00
Elliott Hughes dcbeb41a67 am d558530b: Merge "Fix Windows build."
* commit 'd558530ba90cb6218fe8e255c71a034c3fe1ea58':
  Fix Windows build.
2015-02-05 18:51:07 +00:00
Paul McLean 9d13e782c6 Merge "Adding name field to AudioPort for enum/select API." 2015-02-05 18:13:48 +00:00
Elliott Hughes d79801d60d Fix Windows build.
Take 2. Probably should have done this in the beginning, but thought I was
being clever.

Change-Id: I85c6e487eece9bcc75f8f62c850c2d4d1ee9e908
2015-02-05 08:21:37 -08:00
Elliott Hughes 495952fef2 am 44fdd5d1: am 27d28d3b: Merge "Add a WriteStringToFile overload that cares about permissions."
* commit '44fdd5d15a8851e4053af168e7235b30a5f4d34d':
  Add a WriteStringToFile overload that cares about permissions.
2015-02-05 02:36:47 +00:00
Elliott Hughes 44fdd5d15a am 27d28d3b: Merge "Add a WriteStringToFile overload that cares about permissions."
* commit '27d28d3baff860d1fd936a5fcf2d920577c52575':
  Add a WriteStringToFile overload that cares about permissions.
2015-02-05 02:31:31 +00:00
Elliott Hughes 202f024dee Add a WriteStringToFile overload that cares about permissions.
Change-Id: I857a80b61768d4e9610bdd149eff2d9d8e48d2c0
2015-02-04 14:30:23 -08:00
Elliott Hughes 814cb64fb4 am 8a2634c2: am 55732f49: Merge "android_reboot should take a const char*."
* commit '8a2634c2ab3914abeb43e0edf46fa69852b6b15d':
  android_reboot should take a const char*.
2015-02-04 15:03:49 +00:00