X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=audiod.c;h=e0a455d223f9822bdb4c366915661514f64b7543;hp=32c839411b138406ab4bb760f8b8b9b873c1305d;hb=395aeb9da9c9cc2febe91b5a906c72e59e217594;hpb=8ea8abb73199b32fdd7afdf8825afa42ed8de244 diff --git a/audiod.c b/audiod.c index 32c83941..e0a455d2 100644 --- a/audiod.c +++ b/audiod.c @@ -386,8 +386,8 @@ static void open_filters(int slot_num) s->fc->inbufp = &s->receiver_node->buf; s->fc->in_loaded = &s->receiver_node->loaded; s->fc->input_error = &s->receiver_node->task.error; - s->fc->task.pre_select = filter_pre_select; - s->fc->task.post_select = NULL; + s->fc->task.pre_select = NULL; + s->fc->task.post_select = filter_post_select; s->fc->task.error = 0; s->fc->num_filters = nf; @@ -902,8 +902,15 @@ static void command_post_select(struct sched *s, struct task *t) { int ret; struct command_task *ct = container_of(t, struct command_task, task); + static struct timeval last_status_dump; + struct timeval tmp; + + tv_add(&last_status_dump, &(struct timeval){0, 500 * 1000}, &tmp); + if (tv_diff(&tmp, now, NULL) < 0) { + audiod_status_dump(); + last_status_dump = *now; + } - audiod_status_dump(); if (!FD_ISSET(ct->fd, &s->rfds)) return; ret = handle_connect(ct->fd); @@ -1196,6 +1203,7 @@ int main(int argc, char *argv[]) drop_privileges_or_die(conf.user_arg, conf.group_arg); parse_config_or_die(); init_colors_or_die(); + init_random_seed_or_die(); daemon_set_flag(DF_LOG_TIME); daemon_set_flag(DF_LOG_HOSTNAME); daemon_set_flag(DF_LOG_LL); @@ -1227,7 +1235,7 @@ int main(int argc, char *argv[]) register_task(&cmd_task->task); register_task(&stat_task->task); s.default_timeout.tv_sec = 0; - s.default_timeout.tv_usec = 99 * 1000; + s.default_timeout.tv_usec = 999 * 1000; ret = schedule(&s); PARA_EMERG_LOG("%s\n", para_strerror(-ret));