cleanup priority management in main loop

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@107 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
Lennart Poettering 2004-08-07 10:42:39 +00:00
parent 68eb5dd248
commit 6f0936f6d0
2 changed files with 6 additions and 4 deletions

View 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);
}
}

View 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;