X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=audiod.c;h=9ed319f4c27ab7e202082552f1a0ffa9328fe60f;hp=dcf2c14738d3336bcce19dbc9a2fcd565dcded7a;hb=d80f5d3ac72591069728fd786d9a0fd96ccfd06f;hpb=e34e5f6ddb04a9c4fb0aa8e21bb2aeb7c03d687a diff --git a/audiod.c b/audiod.c index dcf2c147..9ed319f4 100644 --- a/audiod.c +++ b/audiod.c @@ -1031,18 +1031,21 @@ static int 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, delay = {0, 500 * 1000}; + struct timeval tmp, delay = {5, 0}; + bool force = false; tv_add(&last_status_dump, &delay, &tmp); if (tv_diff(&tmp, now, NULL) < 0) { - audiod_status_dump(); last_status_dump = *now; + force = true; } ret = handle_connect(ct->fd, &s->rfds); if (ret < 0) PARA_ERROR_LOG("%s\n", para_strerror(-ret)); - audiod_status_dump(); + else if (ret > 0) + force = true; + audiod_status_dump(force); return 0; } @@ -1066,7 +1069,7 @@ static void close_stat_pipe(void) stat_task->offset_seconds = 0; stat_task->vss_status = 0; stat_task->current_audio_format_num = -1; - audiod_status_dump(); + audiod_status_dump(true); } /* avoid busy loop if server is down */