if (!stat_task->ct)
return;
client_close(stat_task->ct);
+ task_reap(&stat_task->ct->task);
stat_task->ct = NULL;
clear_and_dump_items();
stat_task->length_seconds = 0;
if (audiod_status == AUDIOD_OFF) {
if (!st->ct)
goto out;
- if (st->ct->task.error >= 0) {
- task_notify(&st->ct->task, E_AUDIOD_OFF);
+ if (st->ct->task->error >= 0) {
+ task_notify(st->ct->task, E_AUDIOD_OFF);
goto out;
}
close_stat_pipe();
struct timeval diff;
tv_diff(now, &st->last_status_read, &diff);
if (diff.tv_sec > 61)
- task_notify(&st->ct->task, E_STATUS_TIMEOUT);
+ task_notify(st->ct->task, E_STATUS_TIMEOUT);
goto out;
}
btr_merge(st->btrn, st->min_iqs);
sz = btr_next_buffer(st->btrn, &buf);
ret = for_each_stat_item(buf, sz, update_item);
if (ret < 0) {
- task_notify(&st->ct->task, -ret);
+ task_notify(st->ct->task, -ret);
goto out;
}
if (sz != ret) {