diff options
author | Pierre Ossman <ossman@cendio.se> | 2006-04-19 11:53:24 +0000 |
---|---|---|
committer | Pierre Ossman <ossman@cendio.se> | 2006-04-19 11:53:24 +0000 |
commit | 6ae8511a66c0f937bdab2786ecdc7e158bd3934d (patch) | |
tree | 48d75b99f36a8ac74d6515b0bdc7f050b3ff61b5 /src/daemon | |
parent | 4bb58226189763b87abc5b5e0f297dd04f751d89 (diff) |
Having constant deferred events isn't allowed and causes problems. Use timers
instead.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@757 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/daemon')
-rw-r--r-- | src/daemon/main.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/daemon/main.c b/src/daemon/main.c index 4ae9fbf1..e14837a9 100644 --- a/src/daemon/main.c +++ b/src/daemon/main.c @@ -79,8 +79,9 @@ int deny_severity = LOG_WARNING; #ifdef OS_IS_WIN32 -static void message_cb(pa_mainloop_api*a, pa_defer_event *e, void *userdata) { +static void message_cb(pa_mainloop_api*a, pa_time_event*e, PA_GCC_UNUSED const struct timeval *tv, void *userdata) { MSG msg; + struct timeval tvnext; while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { if (msg.message == WM_QUIT) @@ -90,6 +91,9 @@ static void message_cb(pa_mainloop_api*a, pa_defer_event *e, void *userdata) { DispatchMessage(&msg); } } + + pa_timeval_add(pa_gettimeofday(&tvnext), 100000); + a->time_restart(e, &tvnext); } #endif @@ -153,7 +157,8 @@ int main(int argc, char *argv[]) { #endif #ifdef OS_IS_WIN32 - pa_defer_event *defer; + pa_time_event *timer; + struct timeval tv; #endif pa_limit_caps(); @@ -386,8 +391,9 @@ int main(int argc, char *argv[]) { #endif #ifdef OS_IS_WIN32 - defer = pa_mainloop_get_api(mainloop)->defer_new(pa_mainloop_get_api(mainloop), message_cb, NULL); - assert(defer); + timer = pa_mainloop_get_api(mainloop)->time_new( + pa_mainloop_get_api(mainloop), pa_gettimeofday(&tv), message_cb, NULL); + assert(timer); #endif if (conf->daemonize) @@ -446,7 +452,7 @@ int main(int argc, char *argv[]) { } #ifdef OS_IS_WIN32 - pa_mainloop_get_api(mainloop)->defer_free(defer); + pa_mainloop_get_api(mainloop)->time_free(timer); #endif pa_core_free(c); |