audiod: Improve status timeout handling.
authorAndre Noll <maan@systemlinux.org>
Sun, 21 Jul 2013 14:23:00 +0000 (16:23 +0200)
committerAndre Noll <maan@systemlinux.org>
Sun, 22 Sep 2013 00:29:18 +0000 (02:29 +0200)
Don't look at the task error field directly. The node status gives
equivalent information.

audiod.c

index 91f6e1e..dcf2c14 100644 (file)
--- a/audiod.c
+++ b/audiod.c
@@ -1228,14 +1228,15 @@ static int status_post_select(struct sched *s, struct task *t)
                char *buf;
                size_t sz;
                int ret;
-               if (st->ct->task.error < 0) {
+
+               ret = btr_node_status(st->btrn, st->min_iqs, BTR_NT_LEAF);
+               if (ret < 0) {
                        close_stat_pipe();
                        goto out;
                }
                if (st->ct->status != CL_EXECUTING)
                        goto out;
-               ret = btr_node_status(st->btrn, st->min_iqs, BTR_NT_LEAF);
-               if (ret <= 0) {
+               if (ret == 0) {
                        struct timeval diff;
                        tv_diff(now, &st->last_status_read, &diff);
                        if (diff.tv_sec > 61)