aboutsummaryrefslogtreecommitdiffstats
path: root/android/looper-generic.c
Commit message (Collapse)AuthorAgeFilesLines
* Add loopIo_poll() function.David 'Digit' Turner2011-04-281-0/+8
| | | | | | This will be used later by the goldfish network pipe implementation. Change-Id: I70c770efba15b2fd5ef7cc52450aa07163fa21f5
* Simplify UI-only sources.David 'Digit' Turner2011-02-021-1/+1
| | | | | | | | | | Get rid of console-ui.c, qemu-timer-ui.c and modify vl-android-ui.c to use a generic Looper object instead of a crummy event loop. We still need to implement qemu_set_fd_handler for two sources under android/protocol/ but this will be cleaned up later. Change-Id: Icd0762675ca2f54e720a9cec40f96caea500b52f
* Fix generic looper implementationDavid 'Digit' Turner2010-11-191-2/+29
| | | | | | | | | | | | | | | + allow looper_run() to return a value that indicates why it exited. + add looper_runWithDeadline() and looper_runWithTimeout() in the case where you want to run only for a limited time. looper_runWithTimeout(looper,0) can be used to poll the event state and return asap after firing all the callbacks. + fix iolooper_modify() Change-Id: Iba3b0385a7fd8d90f4f3334ebf313e79267f7b3d
* Allow safe deletion during iteration of an ARefSet.David 'Digit' Turner2010-11-181-4/+4
| | | | | | | + make AREFSET_FOREACH take the name of an existing type variable which avoids an annoying type-cast in each statement. Change-Id: Icf9d886601a9876fa29c15eb0e60a9bf6c8ec163
* Implementation of event loop abstraction.David 'Digit' Turner2010-11-181-0/+466
This patch adds "android/looper.h" which provides an abstraction for event loops: - android/looper-qemu.c implements it on top of the QEMU main event loop. - android/looper-generic.c implements it on top of an IoLooper object. The main idea is to move the UI-related code to use the abstraction to handle timers and asynchronous (network) i/o. NOTE: Code compiles but has not been heavily tested. Change-Id: Ib6820c1b9a9950dc22449a332bc1b066a07af203