Commit Graph

1572 Commits

Author SHA1 Message Date
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
Elliott Hughes 8a2634c2ab am 55732f49: Merge "android_reboot should take a const char*."
* commit '55732f49287a75f9baabe9f150443aec9234c90d':
  android_reboot should take a const char*.
2015-02-04 01:20:40 +00:00
Elliott Hughes 0068da6a93 android_reboot should take a const char*.
The kernel argument is actually a void*, but it's only read from.

Change-Id: I305c50249bf12b7fbdea4721257aed52a0372f8d
2015-02-03 15:44:16 -08:00
Elliott Hughes 25c2f84c5e am 14fcc4c6: am e44d25d6: Merge "Add Google-style StringPrintf."
* commit '14fcc4c66cbd7e55a12315d985b0723ef4a527ff':
  Add Google-style StringPrintf.
2015-02-03 23:41:33 +00:00
Elliott Hughes 14fcc4c66c am e44d25d6: Merge "Add Google-style StringPrintf."
* commit 'e44d25d64537f4ea2abcb56aabc7a5bf0731c222':
  Add Google-style StringPrintf.
2015-02-03 23:33:39 +00:00
Elliott Hughes e44d25d645 Merge "Add Google-style StringPrintf." 2015-02-03 23:23:11 +00:00
Elliott Hughes 6b3be2902d Add Google-style StringPrintf.
Change-Id: If333c28b8ed047346a2dd85e591c4bedbab874cc
2015-02-03 15:21:07 -08:00
Elliott Hughes e17fc7cf3c am c3bf8d85: am 9fc43358: Merge "Extra Win32 compatibility."
* commit 'c3bf8d85b58c4a4711983adcd6321a580d6835b1':
  Extra Win32 compatibility.
2015-02-03 22:56:42 +00:00