X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=client_common.c;h=7bdb4738bab5feb15b4c7acb1180decb61ccfda5;hp=a4aa6d8c3ecc3ae386cbb14515f05f8257d96e0d;hb=ef0508ee41853a36a60676714ff1deecf9bb930d;hpb=b66dfd41e268e64b65d2990bdec3d3a7e119e234 diff --git a/client_common.c b/client_common.c index a4aa6d8c..7bdb4738 100644 --- a/client_common.c +++ b/client_common.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1997-2012 Andre Noll + * Copyright (C) 1997-2013 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -44,6 +44,7 @@ void client_disconnect(struct client_task *ct) if (ct->scc.fd >= 0) close(ct->scc.fd); free_argv(ct->features); + ct->features = NULL; sc_free(ct->scc.recv); ct->scc.recv = NULL; sc_free(ct->scc.send); @@ -333,7 +334,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) {