tv_add(&tv, now, &ppd->barrier);
}
if (tv_diff(&ppd->barrier, now, &diff) < 0)
- goto min_delay;
- if (tv_diff(&diff, &s->timeout, NULL) < 0)
- s->timeout = diff;
- return;
-min_delay:
- s->timeout.tv_sec = 0;
- s->timeout.tv_usec = 1;
+ return sched_min_delay(s);
+ sched_request_timeout(&diff, s);
}
static void prebuffer_close(struct filter_node *fn)
{
free(fn->private_data);
- free(fn->buf);
}
static void prebuffer_post_select(__a_unused struct sched *s, struct task *t)
ppd->conf = fn->conf;
fn->private_data = ppd;
- fn->bufsize = 8192; /* gets increased on demand */
- fn->buf = para_malloc(fn->bufsize);
}
static void prebuffer_free_config(void *conf)