add 'wait' parameter to pa_rtpoll_run(), if zero pa_rtpoll_runn will only update the struct pollfd but not wait for an event

git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1803 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
Lennart Poettering 2007-09-11 13:15:39 +00:00
parent 597a1c4e82
commit 391d09cd6e
10 changed files with 18 additions and 12 deletions

View file

@ -257,7 +257,7 @@ void pa_rtpoll_free(pa_rtpoll *p) {
pa_xfree(p);
}
int pa_rtpoll_run(pa_rtpoll *p) {
int pa_rtpoll_run(pa_rtpoll *p, int wait) {
pa_rtpoll_item *i;
int r = 0;
int no_events = 0;
@ -301,7 +301,10 @@ int pa_rtpoll_run(pa_rtpoll *p) {
rtpoll_rebuild(p);
/* Calculate timeout */
if (p->timer_enabled) {
if (!wait) {
timeout.tv_sec = 0;
timeout.tv_nsec = 0;
} else if (p->timer_enabled) {
struct timespec now;
pa_rtclock_get(&now);

View file

@ -58,7 +58,10 @@ void pa_rtpoll_free(pa_rtpoll *p);
void pa_rtpoll_install(pa_rtpoll *p);
int pa_rtpoll_run(pa_rtpoll *f);
/* Sleep on the rtpoll until the time event, or any of the fd events
* is triggered. If "wait" is 0 we don't sleep but only update the
* struct pollfd. */
int pa_rtpoll_run(pa_rtpoll *f, int wait);
void pa_rtpoll_set_timer_absolute(pa_rtpoll *p, const struct timespec *ts);
void pa_rtpoll_set_timer_periodic(pa_rtpoll *p, pa_usec_t usec);