- int argc = 2;
- char *argv[] = {"audiod", "stat", NULL};
- t->ret = 1;
- if (st->pcd && (audiod_status == AUDIOD_OFF || st->pcd->eof))
- close_stat_pipe();
- if (!st->pcd && audiod_status != AUDIOD_OFF
- && tv_diff(now, &st->restart_barrier, NULL) > 0) {
- t->ret = client_parse_config(argc, argv, &st->pcd);
- if (t->ret < 0)
- return;
- t->ret = client_open(st->pcd);
- if (t->ret < 0)
+ int ret;
+
+ t->ret = 1; /* always successful */
+ if (st->pcd || audiod_status == AUDIOD_OFF)
+ return;
+ if (!st->clock_diff_count && tv_diff(now, &st->restart_barrier, NULL)
+ < 0)
+ return;
+ if (st->clock_diff_count) {
+ char *argv[] = {"audiod", "stat", "1", NULL};
+ int argc = 3;
+ if (tv_diff(now, &st->clock_diff_barrier, NULL) < 0)