android_system_core/libutils/include/utils
Tom Cherry 1fb04ff4e5 Make Condition use CLOCK_MONOTONIC
Changes to the REALTIME clock can cause Condition::waitRelative() to
timeout early or delayed.  This behavior is undesired and new since
https://android-review.googlesource.com/#/c/181058/ moved the
underlying pthread_cond_timedwait() implementation to use absolute
timeouts rather than relative ones.  Having Condition use
CLOCK_MONOTONIC prevents these timeout issues.

Bug: 34592766
Bug: 35678943
Test: Boot bullhead
Test: Ensure time changes do not cause Condition::waitRelative() to
timeout early or delayed

Change-Id: I3a8d7a48f9b42fe990c3c7331313b6d85aa546f9
2017-02-23 10:58:05 -08:00
..
AndroidThreads.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Atomic.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
BitSet.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
BlobCache.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
ByteOrder.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
CallStack.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Compat.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Condition.h Make Condition use CLOCK_MONOTONIC 2017-02-23 10:58:05 -08:00
Debug.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Endian.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Errors.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
FastStrcmp.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
FileMap.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Flattenable.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Functor.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
JenkinsHash.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
KeyedVector.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
LinearTransform.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
List.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Log.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Looper.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
LruCache.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
misc.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Mutex.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
NativeHandle.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Printer.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
ProcessCallStack.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
PropertyMap.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
RefBase.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
RWLock.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Singleton.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
SortedVector.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
StopWatch.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
String8.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
String16.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
StrongPointer.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
SystemClock.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Thread.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
ThreadDefs.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
threads.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Timers.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Tokenizer.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Trace.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
TypeHelpers.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Unicode.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00
Vector.h Vector.h: remove unused import <new> 2017-02-17 13:19:08 -08:00
VectorImpl.h Exporting C++ headers from system/core 2017-01-24 22:51:36 +00:00