]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - client.c
sched: Dont use fixed-size buffer for task names.
[paraslash.git] / client.c
index d3ad23a4267d18d18ff3490d9d25b88cc6b5a945..5573d037794d8b34049200b9bb32322074a39cbb 100644 (file)
--- a/client.c
+++ b/client.c
@@ -536,9 +536,10 @@ struct supervisor_task {
 static int supervisor_post_select(struct sched *s, struct task *t)
 {
        struct supervisor_task *svt = task_context(t);
+       int ret = task_status(ct->task);
 
-       if (ct->task.error < 0)
-               return ct->task.error;
+       if (ret < 0)
+               return ret;
        if (!svt->stdout_task_started && ct->status == CL_EXECUTING) {
                stdout_task_register(&sot, s);
                svt->stdout_task_started = true;
@@ -606,16 +607,19 @@ int main(int argc, char *argv[])
        }, &sched);
 
        ret = schedule(&sched);
-       if (ret >= 0 && ct->task.error < 0) {
-               switch(ct->task.error) {
-               /* these are not errors */
-               case -E_SERVER_CMD_SUCCESS:
-               case -E_EOF:
-               case -E_SERVER_EOF:
-               case -E_BTR_EOF:
-                       ret = 0;
-                       break;
-               default: ret = -E_SERVER_CMD_FAILURE;
+       if (ret >= 0) {
+               ret = task_status(ct->task);
+               if (ret < 0) {
+                       switch (ret) {
+                       /* these are not errors */
+                       case -E_SERVER_CMD_SUCCESS:
+                       case -E_EOF:
+                       case -E_SERVER_EOF:
+                       case -E_BTR_EOF:
+                               ret = 0;
+                               break;
+                       default: ret = -E_SERVER_CMD_FAILURE;
+                       }
                }
        }
        sched_shutdown(&sched);