X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=sched.c;fp=sched.c;h=1b83b704fb48599d7c44ba540bc90b90e040be9b;hb=5254df7e470dc49a29f91fa8185b98c40246f5ea;hp=fe57e03eae01a1d4360ae41cdf61f893a9888128;hpb=deb3326320166531abc35ce805dee4df6b49e936;p=paraslash.git diff --git a/sched.c b/sched.c index fe57e03e..1b83b704 100644 --- a/sched.c +++ b/sched.c @@ -45,8 +45,7 @@ static void unlink_and_free_task(struct task *t) { PARA_INFO_LOG("freeing task %s\n", t->status); list_del(&t->node); - if (t->owned_by_sched) - free(t); + free(t); } //#define SCHED_DEBUG 1 @@ -82,10 +81,7 @@ static unsigned sched_post_select(struct sched *s) } call_post_select(s, t); t->notification = 0; - if (t->error < 0) { - if (!t->owned_by_sched) - list_del(&t->node); - } else + if (t->error >= 0) num_running_tasks++; } return num_running_tasks; @@ -169,8 +165,6 @@ int task_reap(struct task **tptr) t = *tptr; if (!t) return 0; - if (!t->owned_by_sched) - return 0; if (t->error >= 0) return 0; if (t->dead) /* will be freed in sched_post_select() */ @@ -234,7 +228,6 @@ struct task *task_register(struct task_info *info, struct sched *s) t->pre_select = info->pre_select; t->post_select = info->post_select; t->context = info->context; - t->owned_by_sched = true; list_add_tail(&t->node, &s->task_list); return t; } @@ -249,7 +242,6 @@ struct task *task_register(struct task_info *info, struct sched *s) */ void *task_context(struct task *t) { - assert(t->owned_by_sched); return t->context; }