X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=sched.c;h=02793124f38b2c8a185dbe6fa7e1b27fd5306ab2;hp=5f7babe7a6f6ec98838d3d558a630b89e6d0a1b2;hb=d04dd06c4553ae3e1a6ead0e427f0f03836d0cd0;hpb=63b57e3e60923cea4e3e1808e3133789db2dc83a diff --git a/sched.c b/sched.c index 5f7babe7..02793124 100644 --- a/sched.c +++ b/sched.c @@ -32,17 +32,17 @@ struct timeval *now = &now_struct; * If the pre_select pointer of \a t is not \p NULL, it is removed from * the pre_select list of the scheduler. Same goes for \a post_select. */ -void unregister_task(struct task *t) +static void unregister_task(struct task *t) { if (!initialized) return; - PARA_INFO_LOG("unregistering %s (%p)\n", t->status, t); + PARA_INFO_LOG("unregistering %s (%s)\n", t->status, + t->error <0? para_strerror(-t->error) : "shutdown"); if (t->pre_select) list_del(&t->pre_select_node); if (t->post_select) list_del(&t->post_select_node); - if (t->error >= 0) - t->error = -E_TASK_KILLED; + t->error = -E_TASK_UNREGISTERED; }; @@ -236,7 +236,6 @@ int kill_task(char *id) if (strcmp(id, buf)) continue; t->error = -E_TASK_KILLED; - unregister_task(t); return 1; } list_for_each_entry_safe(t, tmp, &post_select_list, post_select_node) { @@ -244,7 +243,6 @@ int kill_task(char *id) if (strcmp(id, buf)) continue; t->error = -E_TASK_KILLED; - unregister_task(t); return 1; } return -E_NO_SUCH_TASK;