summaryrefslogtreecommitdiffstats
path: root/src/daemon
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2006-04-19 11:53:24 +0000
committerPierre Ossman <ossman@cendio.se>2006-04-19 11:53:24 +0000
commit6ae8511a66c0f937bdab2786ecdc7e158bd3934d (patch)
tree48d75b99f36a8ac74d6515b0bdc7f050b3ff61b5 /src/daemon
parent4bb58226189763b87abc5b5e0f297dd04f751d89 (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.c16
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);