]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - client.c
client supervisor: Switch to the alternative post select method.
[paraslash.git] / client.c
index 7f0e3211241a77dad0d6dbe5774f6671e49823f8..89171a23b7f0b22b1940e3e54e74d000d36f7245 100644 (file)
--- a/client.c
+++ b/client.c
@@ -531,27 +531,26 @@ __noreturn static void print_completions(void)
 
 #endif /* HAVE_READLINE */
 
-static void supervisor_post_select(struct sched *s, struct task *t)
+static int supervisor_post_select(struct sched *s, __a_unused struct task *t)
 {
-       if (ct->task.error < 0) {
-               t->error = ct->task.error;
-               return;
-       }
+       if (ct->task.error < 0)
+               return ct->task.error;
        if (ct->status == CL_SENDING) {
                stdin_set_defaults(&sit);
                register_task(s, &sit.task);
-               t->error = -E_TASK_STARTED;
-               return;
+               return -E_TASK_STARTED;
        }
        if (ct->status == CL_RECEIVING) {
                stdout_set_defaults(&sot);
                register_task(s, &sot.task);
-               t->error = -E_TASK_STARTED; return;
+               return -E_TASK_STARTED;
        }
+       return 0;
 }
 
 static struct task svt = {
-       .post_select = supervisor_post_select,
+       .new_post_select = supervisor_post_select,
+       .post_select = NULL,
        .status = "supervisor task"
 };