From: Arran Cudbard-Bell Date: Tue, 6 Apr 2021 00:26:21 +0000 (+0100) Subject: Exited child should still definitely be in the parent state X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2cd65c84ffc27383d85dbdcbb180c7240077fc38;p=thirdparty%2Ffreeradius-server.git Exited child should still definitely be in the parent state --- diff --git a/src/lib/unlang/parallel.c b/src/lib/unlang/parallel.c index e7793775f1..8e06c2ed7a 100644 --- a/src/lib/unlang/parallel.c +++ b/src/lib/unlang/parallel.c @@ -42,9 +42,13 @@ static inline CC_HINT(always_inline) void unlang_parallel_cancel_child(unlang_pa switch (state->children[i].state) { case CHILD_INIT: - case CHILD_EXITED: + state->children[i].state = CHILD_CANCELLED; fr_assert(!state->children[i].request); + break; + + case CHILD_EXITED: state->children[i].state = CHILD_CANCELLED; + TALLOC_FREE(state->children[i].request); break; case CHILD_RUNNABLE: /* Don't check runnable_id, may be yielded */