merge in lmp-release history after reset to 5105960d49bfa86efeeea8f87c87aa96b5771c37
diff --git a/opengl/libs/EGL/egl.cpp b/opengl/libs/EGL/egl.cpp
index 67fbae5..7c70fa0 100644
--- a/opengl/libs/EGL/egl.cpp
+++ b/opengl/libs/EGL/egl.cpp
@@ -330,12 +330,26 @@
return res;
}
+static pthread_mutex_t sLogPrintMutex = PTHREAD_MUTEX_INITIALIZER;
+static nsecs_t sLogPrintTime = 0;
+#define NSECS_DURATION 1000000000
+
void gl_unimplemented() {
- ALOGE("called unimplemented OpenGL ES API");
- char value[PROPERTY_VALUE_MAX];
- property_get("debug.egl.callstack", value, "0");
- if (atoi(value)) {
- CallStack stack(LOG_TAG);
+ bool printLog = false;
+ nsecs_t now = systemTime();
+ pthread_mutex_lock(&sLogPrintMutex);
+ if ((now - sLogPrintTime) > NSECS_DURATION) {
+ sLogPrintTime = now;
+ printLog = true;
+ }
+ pthread_mutex_unlock(&sLogPrintMutex);
+ if (printLog) {
+ ALOGE("called unimplemented OpenGL ES API");
+ char value[PROPERTY_VALUE_MAX];
+ property_get("debug.egl.callstack", value, "0");
+ if (atoi(value)) {
+ CallStack stack(LOG_TAG);
+ }
}
}
diff --git a/services/sensorservice/SensorService.cpp b/services/sensorservice/SensorService.cpp
index f953a96..77ada40 100644
--- a/services/sensorservice/SensorService.cpp
+++ b/services/sensorservice/SensorService.cpp
@@ -653,6 +653,7 @@
i++;
}
}
+ mLooper->removeFd(c->getSensorChannel()->getSendFd());
mActiveConnections.remove(connection);
BatteryService::cleanup(c->getUid());
if (c->needsWakeLock()) {
@@ -799,6 +800,7 @@
BatteryService::disableSensor(connection->getUid(), handle);
}
if (connection->hasAnySensor() == false) {
+ mLooper->removeFd(connection->getSensorChannel()->getSendFd());
mActiveConnections.remove(connection);
}
// see if this sensor becomes inactive