]> code.delx.au - pulseaudio/commitdiff
cleanup priority management in main loop
authorLennart Poettering <lennart@poettering.net>
Sat, 7 Aug 2004 10:42:39 +0000 (10:42 +0000)
committerLennart Poettering <lennart@poettering.net>
Sat, 7 Aug 2004 10:42:39 +0000 (10:42 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@107 fefdeb5f-60dc-0310-8127-8f9354f1896f

polyp/glib-mainloop.c
polyp/glib-test.c

index 3b9feaad2a79331d8d5972d61f4562aa66fc4ff9..0c46ab0c0a1736266b34facb19a0db5b6faca181 100644 (file)
@@ -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);
     }
 }
 
index 99196c4a68acb5527e91bbbbb8229fd5346bea7c..a03387e74e2cb88754963c1f7fb6a4782e6ab48a 100644 (file)
@@ -3,7 +3,7 @@
 #include <sys/time.h>
 #include <assert.h>
 
-/*#define GLIB_MAIN_LOOP*/
+#define GLIB_MAIN_LOOP
 
 #ifdef GLIB_MAIN_LOOP
 #include <glib.h>
@@ -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;