]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - client_common.c
audiod: Replace kill_btrn() by task notifications.
[paraslash.git] / client_common.c
index 649a1b4fdf49579e653d7b6cd6d9c977524e6171..78b232dbd043caf1dc0ee6ba58b3437000e0d86a 100644 (file)
@@ -48,8 +48,7 @@ void client_disconnect(struct client_task *ct)
        ct->scc.recv = NULL;
        sc_free(ct->scc.send);
        ct->scc.send = NULL;
-       btr_free_node(ct->btrn);
-       ct->btrn = NULL;
+       btr_remove_node(&ct->btrn);
 }
 
 /**
@@ -334,7 +333,9 @@ static void client_post_select(struct sched *s, struct task *t)
        size_t n;
        char buf[CLIENT_BUFSIZE];
 
-       t->error = 0;
+       ret = task_get_notification(t);
+       if (ret < 0)
+               goto out;
        if (ct->scc.fd < 0)
                return;
        switch (ct->status) {
@@ -562,7 +563,7 @@ out:
                if (!ct->use_sideband && ret != -E_SERVER_EOF &&
                                ret != -E_BTR_EOF && ret != -E_EOF)
                        PARA_ERROR_LOG("%s\n", para_strerror(-t->error));
-               btr_remove_node(btrn);
+               btr_remove_node(&ct->btrn);
        }
 }