From: Alan T. DeKok Date: Tue, 21 Nov 2017 18:55:54 +0000 (-0500) Subject: signal children to be DONE when exiting a parallel section X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1361cf40944990227ffa3a86f4b93eed7124ca7e;p=thirdparty%2Ffreeradius-server.git signal children to be DONE when exiting a parallel section i.e. tell the children that they're cancelled. --- diff --git a/src/main/unlang_interpret.c b/src/main/unlang_interpret.c index e892e781329..6b51881bc75 100644 --- a/src/main/unlang_interpret.c +++ b/src/main/unlang_interpret.c @@ -1237,6 +1237,13 @@ static rlm_rcode_t unlang_parallel_run(REQUEST *request, unlang_parallel_t *stat case CHILD_YIELDED: REQUEST_VERIFY(state->children[i].child); rad_assert(state->children[i].child->runnable_id < 0); + + /* + * Signal the child that it's going to be + * stopped. This tells any child modules + * to clean up timers, etc. + */ + unlang_signal(state->children[i].child, FR_ACTION_DONE); TALLOC_FREE(state->children[i].child); /* FALL-THROUGH */