From 6f0936f6d0b4d415653c50760caaa65fa9bf78a3 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 7 Aug 2004 10:42:39 +0000 Subject: cleanup priority management in main loop git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@107 fefdeb5f-60dc-0310-8127-8f9354f1896f --- polyp/glib-mainloop.c | 4 ++-- polyp/glib-test.c | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/polyp/glib-mainloop.c b/polyp/glib-mainloop.c index 3b9feaad..0c46ab0c 100644 --- a/polyp/glib-mainloop.c +++ b/polyp/glib-mainloop.c @@ -226,7 +226,7 @@ static void glib_time_restart(struct pa_time_event*e, const struct timeval *tv) e->source = g_timeout_source_new(msec_diff(tv, &now)); assert(e->source); g_source_set_callback(e->source, time_cb, e, NULL); - g_source_set_priority(e->source, G_PRIORITY_HIGH); + g_source_set_priority(e->source, G_PRIORITY_DEFAULT); g_source_attach(e->source, e->mainloop->glib_main_context); } else e->source = NULL; @@ -312,7 +312,7 @@ static void glib_defer_enable(struct pa_defer_event *e, int b) { assert(e->source); g_source_set_callback(e->source, idle_cb, e, NULL); g_source_attach(e->source, e->mainloop->glib_main_context); - g_source_set_priority(e->source, G_PRIORITY_HIGH_IDLE); + g_source_set_priority(e->source, G_PRIORITY_HIGH); } } diff --git a/polyp/glib-test.c b/polyp/glib-test.c index 99196c4a..a03387e7 100644 --- a/polyp/glib-test.c +++ b/polyp/glib-test.c @@ -3,7 +3,7 @@ #include #include -/*#define GLIB_MAIN_LOOP*/ +#define GLIB_MAIN_LOOP #ifdef GLIB_MAIN_LOOP #include @@ -13,10 +13,13 @@ static GMainLoop* glib_main_loop = NULL; #include "mainloop.h" #endif +static struct pa_defer_event *de; + static void iocb(struct pa_mainloop_api*a, struct pa_io_event *e, int fd, enum pa_io_event_flags f, void *userdata) { unsigned char c; read(fd, &c, sizeof(c)); fprintf(stderr, "IO EVENT: %c\n", c < 32 ? '.' : c); + a->defer_enable(de, 1); } static void dcb(struct pa_mainloop_api*a, struct pa_defer_event *e, void *userdata) { @@ -37,7 +40,6 @@ static void tcb(struct pa_mainloop_api*a, struct pa_time_event *e, const struct int main(int argc, char *argv[]) { struct pa_mainloop_api *a; struct pa_io_event *ioe; - struct pa_defer_event *de; struct pa_time_event *te; struct timeval tv; -- cgit