]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
lock the proxy mutex when deleting home listeners
authorAlan T. DeKok <aland@freeradius.org>
Wed, 17 Jul 2024 15:01:31 +0000 (11:01 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Wed, 17 Jul 2024 15:01:31 +0000 (11:01 -0400)
src/main/process.c

index 9880e34752839290626aff8d6401a8253819ebca..a7ab48203f0b063f1ddae007346e8df4e874c0d3 100644 (file)
@@ -4307,7 +4307,9 @@ void mark_home_server_dead(home_server_t *home, struct timeval *when, bool down)
        if (home->listeners) {
                ASSERT_MASTER;
 
+               PTHREAD_MUTEX_LOCK(&proxy_mutex);
                rbtree_walk(home->listeners, RBTREE_DELETE_ORDER, eol_home_listener, NULL);
+               PTHREAD_MUTEX_UNLOCK(&proxy_mutex);
                radius_signal_self(RADIUS_SIGNAL_SELF_NEW_FD);
        }
 #endif