@@ -598,8 +598,6 @@ static void request_timer(void *ctx)
598598 */
599599void request_free (REQUEST * request )
600600{
601- void * ptr ;
602-
603601 rad_assert (request -> ev == NULL );
604602 rad_assert (!request -> in_request_hash );
605603 rad_assert (!request -> in_proxy_hash );
@@ -1204,7 +1202,7 @@ static void request_queue_or_run(REQUEST *request,
12041202
12051203void request_inject (REQUEST * request )
12061204{
1207- request_queue_or_run (request , request_running );
1205+ request_queue_or_run (request , request_running ); /* child thread */
12081206}
12091207
12101208
@@ -2065,7 +2063,8 @@ int request_receive(TALLOC_CTX *ctx, rad_listen_t *listener, RADIUS_PACKET *pack
20652063 * Otherwise, insert it into the state machine.
20662064 * The child threads will take care of processing it.
20672065 */
2068- request_queue_or_run (request , request_running );
2066+ ASSERT_MASTER ;
2067+ request_queue_or_run (request , request_running ); /* network thread - from listener */
20692068
20702069 return 1 ;
20712070}
@@ -2852,6 +2851,7 @@ int request_proxy_reply(RADIUS_PACKET *packet)
28522851 char buffer [128 ];
28532852
28542853 VERIFY_PACKET (packet );
2854+ ASSERT_MASTER ;
28552855
28562856 PTHREAD_MUTEX_LOCK (& proxy_mutex );
28572857 proxy_p = fr_packet_list_find_byreply (proxy_list , packet );
@@ -3935,7 +3935,8 @@ static int request_proxy_anew(REQUEST *request)
39353935 REDEBUG2 ("Failed to find live home server for request" );
39363936 post_proxy_fail :
39373937 if (setup_post_proxy_fail (request )) {
3938- request_queue_or_run (request , proxy_running );
3938+ ASSERT_MASTER ;
3939+ request_queue_or_run (request , proxy_running ); /* network thread - timer */
39393940 } else {
39403941 gettimeofday (& request -> reply -> timestamp , NULL );
39413942 request_cleanup_delay_init (request );
@@ -4708,7 +4709,8 @@ static void proxy_wait_for_reply(REQUEST *request, int action)
47084709 }
47094710
47104711 if (setup_post_proxy_fail (request )) {
4711- request_queue_or_run (request , proxy_no_reply );
4712+ ASSERT_MASTER ;
4713+ request_queue_or_run (request , proxy_no_reply ); /* network thread - timer */
47124714 } else {
47134715 gettimeofday (& request -> reply -> timestamp , NULL );
47144716 request_cleanup_delay_init (request );
@@ -4719,7 +4721,8 @@ static void proxy_wait_for_reply(REQUEST *request, int action)
47194721 * We received a new reply. Go process it.
47204722 */
47214723 case FR_ACTION_PROXY_REPLY :
4722- request_queue_or_run (request , proxy_running );
4724+ ASSERT_MASTER ;
4725+ request_queue_or_run (request , proxy_running ); /* network thread - listener */
47234726 break ;
47244727
47254728 default :
@@ -5093,7 +5096,8 @@ static void coa_retransmit(REQUEST *request)
50935096
50945097 fail :
50955098 if (setup_post_proxy_fail (request )) {
5096- request_queue_or_run (request , coa_no_reply );
5099+ ASSERT_MASTER ;
5100+ request_queue_or_run (request , coa_no_reply ); /* network thread - timer */
50975101 } else {
50985102 request_done (request , FR_ACTION_DONE );
50995103 }
@@ -5227,7 +5231,8 @@ static bool coa_max_time(REQUEST *request)
52275231 request -> proxy -> dst_port ,
52285232 mrd );
52295233 if (setup_post_proxy_fail (request )) {
5230- request_queue_or_run (request , coa_no_reply );
5234+ ASSERT_MASTER ;
5235+ request_queue_or_run (request , coa_no_reply ); /* network thread - timer */
52315236 } else {
52325237 request_done (request , FR_ACTION_DONE );
52335238 }
@@ -5318,7 +5323,8 @@ static void coa_wait_for_reply(REQUEST *request, int action)
53185323 request -> delay = (int )request -> root -> init_delay .tv_sec * USEC +
53195324 (int )request -> root -> init_delay .tv_usec ;
53205325
5321- request_queue_or_run (request , coa_running );
5326+ ASSERT_MASTER ;
5327+ request_queue_or_run (request , coa_running ); /* network thread - timer */
53225328 break ;
53235329
53245330 default :
0 commit comments