android_system_core/include/utils
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
..
AndroidThreads.h Kill HAVE_PTHREADS. 2015-01-27 14:23:22 -08:00
ashmem.h auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
Atomic.h auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
BasicHashtable.h libutils: give BasicHashtableImpl a virtual destructor 2013-07-30 13:57:01 -07:00
BitSet.h BitSet32 64b compatibility fix 2014-04-11 22:41:46 -07:00
BlobCache.h Make Flattenable not virtual (libutils) 2013-07-31 13:41:41 -07:00
ByteOrder.h Implement the C++ class to write the backed up file data. 2013-07-30 13:56:50 -07:00
CallStack.h Rewrite libbacktrace to be all C++. 2014-01-16 16:12:29 -08:00
Compat.h Extra Win32 compatibility. 2015-02-03 14:26:58 -08:00
Condition.h Kill HAVE_PTHREADS. 2015-01-27 14:23:22 -08:00
Debug.h libutils clean-up 2013-07-30 13:57:01 -07:00
Endian.h Fix Mac build. 2014-11-22 07:25:02 -08:00
Errors.h AArch64: Use negative values in error enumeration 2014-02-20 14:11:35 +00:00
file.h Clean up reading and writing in init. 2015-02-06 14:20:30 -08:00
FileMap.h Remove useless refCounting from FileMap. 2015-02-23 15:49:43 +00:00
Flattenable.h minor tweaks to FlattenableUtils 2013-08-01 12:47:58 -07:00
Functor.h include: cleanup for -Wsystem-header 2014-05-23 15:09:57 -07:00
JenkinsHash.h Add another ifndef and a couple of methods to LruCache 2013-07-30 13:57:00 -07:00
KeyedVector.h improve Vector<> safety checks 2013-07-30 13:56:59 -07:00
LinearAllocator.h Add LinearAllocator 2013-07-30 13:57:00 -07:00
LinearTransform.h Add a linear transform library to libutils 2013-07-30 13:56:57 -07:00
List.h Fix sim build. 2013-07-30 13:56:51 -07:00
Log.h utils: Allow non android namespaces to use ALOGD_IF_SLOW 2013-07-30 13:57:00 -07:00
Looper.h Fixed subtle bugs related to file descriptor recycling. 2015-03-11 15:00:36 -07:00
LruCache.h am 7aa8cdfb: am 21157abc: am 8814bd1d: Merge "include: cleanup for -Wsystem-header" 2014-05-23 22:33:41 +00:00
misc.h libutils clean-up 2013-07-30 13:57:01 -07:00
Mutex.h Kill HAVE_PTHREADS. 2015-01-27 14:23:22 -08:00
NativeHandle.h Clarify ownership for NativeHandle::mHandle 2014-03-24 11:40:36 +09:00
Printer.h utils: Add ProcessCallStack to collect stack traces for all threads in a process 2013-10-25 19:24:56 -07:00
ProcessCallStack.h Move CallStack to libbacktrace. 2014-01-09 15:09:13 -08:00
PropertyMap.h Add initial support for cursor-based pointing devices. 2013-07-30 13:56:55 -07:00
RefBase.h am 4c818dc8: am 56b28f6b: Merge "RefBase: make Renamer destructor virtual" 2014-08-06 22:48:30 +00:00
RWLock.h Kill HAVE_PTHREADS. 2015-01-27 14:23:22 -08:00
SharedBuffer.h minor SharedBuffer clean-up 2013-07-30 13:57:00 -07:00
Singleton.h Use full qualified name in macros. 2014-12-11 11:19:57 -08:00
SortedVector.h get rid of mirrorItemAt() which isn't used anywhere 2013-07-30 13:57:00 -07:00
StopWatch.h Native input dispatch rewrite work in progress. 2013-07-30 13:56:53 -07:00
String8.h Add a couple of useful string functions. 2014-06-09 14:02:52 -07:00
String16.h new String8, String16 ctors to initialize empty static strings with static linkage 2013-07-30 13:57:01 -07:00
stringprintf.h Add Google-style StringPrintf. 2015-02-03 15:21:07 -08:00
StrongPointer.h remove unused declarations and reformat 2013-07-30 13:57:01 -07:00
SystemClock.h libutils clean-up 2013-07-30 13:57:01 -07:00
Thread.h Kill HAVE_PTHREADS. 2015-01-27 14:23:22 -08:00
ThreadDefs.h utils: move thread enums to system/core 2013-07-30 13:57:01 -07:00
threads.h split utils/threads.h into multiple headers 2013-07-30 13:56:59 -07:00
Timers.h libutils clean-up 2013-07-30 13:57:01 -07:00
Tokenizer.h Support tokenizing arbitrary content. 2013-07-30 13:56:59 -07:00
Trace.h Make trace macros slightly more robust 2013-07-30 13:57:01 -07:00
TypeHelpers.h Add an LRU cache plus hashing primitives 2013-07-30 13:57:00 -07:00
Unicode.h Remove incompatible Unicode compatibility types. 2014-11-20 11:54:39 -08:00
Vector.h Add Vector::resize() 2013-07-30 13:57:01 -07:00
VectorImpl.h remove reserved virtual slots 2013-07-30 13:57:01 -07:00