Prevent IPCThreadState::joinThreadPool from spinning on unexpected error

Adds logging to help determine what is happening to the /dev/binder
fd and dump the process state when it happens.

bug: 8912673
Change-Id: I2aa0c66fc499e91e0bf9ee4ae20404bec35adc82
merge in jb-mr2-zeroday-release history after reset to jb-mr2-dev
Find non-extension GLES wrappers in eglGetProcAddress

This allows apps to find OpenGL ES 3.0 functions using
eglGetProcAddress() instead of dlopen/dlsym.

Bug: 9681677
Change-Id: I7ce6e1636bc47d6b0bf20a4e46bd67235714d129
merge in jb-mr2-zeroday-release history after reset to jb-mr2-dev
fix a dead-lock in sensorservice

sensorservice would deadlock if for some reason
a sensor failed to enable.

simplifed the code a bit, and made it behave a little
closer to mr1.1 -- I couldn't convince myself that
some changes in how locks were used were correct.

Bug: 9794362
Change-Id: I6110f5dbb67e543f1c71d127de2299232badb36a
merge in jb-mr2-zeroday-release history after reset to jb-mr2-dev
Squashed commit of installd changes

commit 28d7796cef6dfb1c892b736fc89c5bd9d919ff29
Author: rpcraig <rpcraig@tycho.ncsc.mil>
Date:   Wed Nov 28 09:23:18 2012 -0500

    Proper security labeling of multi-user data directories.

    This patch covers 2 cases. When an app is installed
    and the resulting data directory is created for all
    existing users. And when a new user is created and
    all existing app data directories are created for
    the new user.

    Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>

    Change-Id: I01f2a9084dfe7886087b1497070b0d7f2ad8478e

    Conflicts:
        cmds/installd/commands.c
        services/java/com/android/server/pm/Installer.java
        services/java/com/android/server/pm/PackageManagerService.java
        services/java/com/android/server/pm/Settings.java

commit 91dfb0045a0026b185fa66c5c95289335bd2d543
Author: Pawit Pornkitprasan <p.pawit@gmail.com>
Date:   Sun Dec 25 17:37:53 2011 +0700

    installd: Delete cache properly for devices using datadata partition

    The java side already checks /data/data for free space but installd
    still checks /data causing it to never reap the cache (because it
    thinks that enough free space is available.)

    Change-Id: I736af6ff7ea0c8ae07900168f6b8ac2f7a4dbe0b

commit 777c17568851e1dc8b02213b2a77a3d7b456fc7d
Author: ctso <ctsoyars@gmail.com>
Date:   Thu Jun 24 02:03:47 2010 +0000

    DexOpt anything on /system in /cache/dalvik-cache

    Change-Id: Id41d37047f2fcb90d513ac091dfcb85492473689

    Allow property to disable dexopt on /cache

    Change-Id: Ic74707c4bead387bbf82e4c6d5037efc2d2ebeaf

Change-Id: Ic74707c4bead387bbf82e4c6d5037efc2d2ebeaf
fix a possible deadlock when removing a layer and destroying a client

generally the last reference to a Layer is released in commitTransaction()
with mStateLock held. Layer itself only holds weak references to Client,
however, ~Layer() briefly promotes this weak reference -- during that time
the all other strong references to that Client go away, ~Layer is left with
the last one... then hell breaks loose as ~Client is called, which in turn
needs to acquire mStateLock.

We fix this by holding a temporary copy of the drawing state during
the transaction so that the side-effects of copying the current
state into the drawing state are seen only after mStateLock has
been released.

Bug: 9106453
Change-Id: Ic5348ac12283500ead87286a37565e8da35f1db2
Merge "Squashed commit of installd changes" into cm-10.2
Surface: Fix gralloc flags conflicting values.

Due to some custom code, unwanted flags (HW) got added with SW flags.
Restrict the flags to custom ones.

Change-Id: I2ab1c75eef4d6d16f0dd7d43aff3c7377486801a
sf: virtual display clean up

  Since HAL allows Virtual devices, remove virtual display id
  check during setup of virtual display.

Change-Id: I6ec93c0f06842b69e6677f05ae8b45fb1f4225f6
libgui: Fix building with QCOM_BSP + CAF display

Change-Id: Iaf0eb69fa7f409144a266ada683fceb835f62aff
Merge "fix a possible deadlock when removing a layer and destroying a client" into cm-10.2
Forward-port surface dithering from CM10.1

This allows the use of 16-bit color displays without excessive color
banding;

Change-Id: Icb469b9cb4beb686516c60bb576dbd0a73f505e0
Merge tag 'android-4.3_r2.2' of https://android.googlesource.com/platform/frameworks/native into cm-10.2

Android 4.3 release 2.2

Change-Id: If9463fdc227b5fc97450a3ba94da815af6d9e657
Don't use fence sync for qcom legacy

Signed-off-by: Michael Bestas <mikeioannina@gmail.com>

Change-Id: Ifecc7af579bfde9d0a7daaaf528ea0773ce6ceb2
surfaceflinger: enable EGL_NEEDS_FNW for qcom legacy

Signed-off-by: Michael Bestas <mikeioannina@gmail.com>

Change-Id: Ia6df94e8380062d646e29f293e5dc768e8a138e7
SurfaceFlinger: Dont show Animation on External Display

- With this change the animation effect will not be shown on
  external display.
- It will change from portrait to landscape in one shot.
- Primary would still continue the animation effect
- set property sys.disable_ext_animation to disable animation

Change-Id: Ibd94bf166f08eeab1d504afe69230f7c6a617eb6
CRs-fixed: 453747
surfaceflinger: don't handle EVENT_ORIENTATION when !HWC_DEVICE_API_VERSION_1_0

a184463 causes segfault on boot for the enrc2b (and probably others), this fixes it.

Change-Id: Ic4a7a05b44c8cc44a0d25c56def4acdf5b0939df
frameworks/native: Fix toroplus radio with CFLAGS

This is a commit to fix the LTE radio on toroplus,
since the binaries contain a broken reference to
an old no longer existent object. This fixes that
with a CFLAGS to be enabled in the .mk files of the
toroplus device files (like BoardConfig.mk).

Credit for the original fix goes to
Sean McClenaghan (cyberkitsune09@gmail.com)
http://review.cyanogenmod.org/#/c/47134/

PS 2-3: forgot some stuff in the commit message

Change-Id: I2c0f05d1f70b96ad801971f23f6f9cf4e0fa7167