From: Alan T. DeKok Date: Fri, 4 Nov 2011 11:54:52 +0000 (+0100) Subject: Turn assert into run-time check X-Git-Tag: release_3_0_0_beta0~531 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a30490dd043dca866116a005415cc5fc62d887bc;p=thirdparty%2Ffreeradius-server.git Turn assert into run-time check --- diff --git a/src/main/process.c b/src/main/process.c index a5dceef811e..32149119b8e 100644 --- a/src/main/process.c +++ b/src/main/process.c @@ -429,11 +429,18 @@ static void request_done(REQUEST *request, int action) * under us. */ case FR_ACTION_DONE: +#ifdef HAVE_PTHREAD_H + /* + * If we have child threads and we're NOT the + * thread handling the request, don't do anything. + */ + if (spawn_flag && + !pthread_equal(pthread_self(), request->child_pid)) { + break; + } +#endif #ifdef DEBUG_STATE_MACHINE if (debug_flag) printf("(%u) ********\tSTATE %s C%u -> C%u\t********\n", request->number, __FUNCTION__, request->child_state, REQUEST_DONE); -#endif -#ifdef HAVE_PTHREAD_H - rad_assert(request->child_pid == NO_SUCH_CHILD_PID); #endif request->child_state = REQUEST_DONE; break;