summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--logd/LogTimes.cpp2
-rw-r--r--logd/LogTimes.h8
2 files changed, 8 insertions, 2 deletions
diff --git a/logd/LogTimes.cpp b/logd/LogTimes.cpp
index a4b96d33d..2a04880e4 100644
--- a/logd/LogTimes.cpp
+++ b/logd/LogTimes.cpp
@@ -90,7 +90,7 @@ void LogTimeEntry::threadStop(void *obj) {
90 while(it != times.end()) { 90 while(it != times.end()) {
91 if (*it == me) { 91 if (*it == me) {
92 times.erase(it); 92 times.erase(it);
93 me->release_Locked(); 93 me->release_nodelete_Locked();
94 break; 94 break;
95 } 95 }
96 it++; 96 it++;
diff --git a/logd/LogTimes.h b/logd/LogTimes.h
index f5969df35..b66ff9e59 100644
--- a/logd/LogTimes.h
+++ b/logd/LogTimes.h
@@ -75,7 +75,13 @@ public:
75 void triggerSkip_Locked(log_id_t id, unsigned int skip) { skipAhead[id] = skip; } 75 void triggerSkip_Locked(log_id_t id, unsigned int skip) { skipAhead[id] = skip; }
76 void cleanSkip_Locked(void); 76 void cleanSkip_Locked(void);
77 77
78 // Called after LogTimeEntry removed from list, lock implicitly held 78 // These called after LogTimeEntry removed from list, lock implicitly held
79 void release_nodelete_Locked(void) {
80 mRelease = true;
81 pthread_cond_signal(&threadTriggeredCondition);
82 // assumes caller code path will call decRef_Locked()
83 }
84
79 void release_Locked(void) { 85 void release_Locked(void) {
80 mRelease = true; 86 mRelease = true;
81 pthread_cond_signal(&threadTriggeredCondition); 87 pthread_cond_signal(&threadTriggeredCondition);