]> git.tuebingen.mpg.de Git - paraslash.git/commitdiff
sched: Improve error diagnostics.
authorAndre Noll <maan@tuebingen.mpg.de>
Fri, 30 Dec 2022 13:47:46 +0000 (14:47 +0100)
committerAndre Noll <maan@tuebingen.mpg.de>
Sat, 11 Mar 2023 18:16:46 +0000 (19:16 +0100)
Currently the error code of the negative return value
from ->post_monitor() is not logged anywhere under normal
conditions. Instead we log "[dead]" in unlink_and_free_task(). Replace
this by a more meaningful message in task_reap().

sched.c

diff --git a/sched.c b/sched.c
index c786c9f26f9b5fc47cfd3c8d883671c5433bd048..07703f929d15d197eda41897b6c7317f9a751750 100644 (file)
--- a/sched.c
+++ b/sched.c
@@ -62,10 +62,6 @@ static void sched_pre_monitor(struct sched *s)
 
 static void unlink_and_free_task(struct task *t)
 {
-       PARA_INFO_LOG("freeing task %s (%s)\n", t->name, t->status < 0?
-               para_strerror(-t->status) :
-               (t->status == TS_DEAD? "[dead]" : "[running]"));
-
        list_del(&t->node);
        free(t->name);
        free(t);
@@ -183,6 +179,7 @@ int task_reap(struct task **tptr)
        if (t->status >= 0)
                return 0;
        ret = t->status;
+       PARA_INFO_LOG("reaping %s (%s)\n", t->name, para_strerror(-ret));
        /*
         * With list_for_each_entry_safe() it is only safe to remove the
         * _current_ list item. Since we are being called from the loop in