History log of /frameworks/base/libs/utils/Looper.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
415d8c38199e258dfce92cdb0c69e056b3b51ef8 06-Oct-2010 Jeff Brown <jeffbrown@google.com> Switch Looper back to using poll() instead of epoll().

Added a couple of micro-optimizations to avoid calling wake() unnecessarily
and reduce JNI overhead slightly.

Fixed a minor issue where we were not clearing the "next" field of Messages
returned by the MessageQueue so the Message would hold on to its successor
and potentially prevent the GC from collecting it if the message were leaked
somehow.

Change-Id: I488d29417ce0cdd7d0e447cda76ec978ef7f811c
/frameworks/base/libs/utils/Looper.cpp
134b4ae90103a7b205cd84d0491a4868cb102a7c 22-Sep-2010 Jeff Brown <jeffbrown@google.com> Looper: use pthread_once for TLS key initialization.

Also fix a Valgrind complaint by zeroing out the entire epoll event
struct since otherwise the data field union would be partly
uninitialized (but not in a harmful way).

Change-Id: I2091ce517e87fcad7c9caf90e2c5e4854a7ca465
/frameworks/base/libs/utils/Looper.cpp
960498728904a1a6ea65171f0cfb3b41187c29ae 18-Sep-2010 Jeff Brown <jeffbrown@google.com> Reduce lock thrashing in native Looper.

In the common case, there is nothing interesting happening on the native
Looper besides occasional wake ups. There is no point grabbing the
semaphore then.

Change-Id: Ib5c426d0e158dfa37891b7ff5537b6f833592fad
/frameworks/base/libs/utils/Looper.cpp
7dae0e47abb5c1fb852c10b3ba0bc6464dd76e96 17-Sep-2010 Jeff Brown <jeffbrown@google.com> Ensure input dispatcher and native looper handles EINTR.

Change-Id: I0a42db5f273b9bfe4ab174e4ee65d5d852f9f6bc
/frameworks/base/libs/utils/Looper.cpp
4fe6c3e51be77e35f40872cdbca6c80f8f8b7ecb 14-Sep-2010 Jeff Brown <jeffbrown@google.com> Replace epoll() with poll() and rename PollLoop to Looper.

As part of this change, consolidated and cleaned up the Looper API so
that there are fewer distinctions between the NDK and non-NDK declarations
(no need for two callback types, etc.).

Removed the dependence on specific constants from sys/poll.h such as
POLLIN. Instead looper.h defines events like LOOPER_EVENT_INPUT for
the events that it supports. That should help make any future
under-the-hood implementation changes easier.

Fixed a couple of compiler warnings along the way.

Change-Id: I449a7ec780bf061bdd325452f823673e2b39b6ae
/frameworks/base/libs/utils/Looper.cpp