]> git.puffer.fish Git - mirror/frr.git/commitdiff
zebra: don't set connection-up event pointer directly 7868/head
authorMark Stapp <mjs@voltanet.io>
Thu, 14 Jan 2021 19:09:14 +0000 (14:09 -0500)
committerMark Stapp <mjs@voltanet.io>
Thu, 14 Jan 2021 19:09:14 +0000 (14:09 -0500)
Use thread_cancel to reset the connection-up processing timer.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
zebra/zebra_fpm.c

index 2bf48c6277591ed1f9e0bd3cda6aabd1252af001..d83f45e6b4952805e3eef6fde1945e2019a588a4 100644 (file)
@@ -517,8 +517,6 @@ static int zfpm_conn_up_thread_cb(struct thread *thread)
        struct zfpm_rnodes_iter *iter;
        rib_dest_t *dest;
 
-       zfpm_g->t_conn_up = NULL;
-
        iter = &zfpm_g->t_conn_up_state.iter;
 
        if (zfpm_g->state != ZFPM_STATE_ESTABLISHED) {
@@ -547,7 +545,6 @@ static int zfpm_conn_up_thread_cb(struct thread *thread)
 
                zfpm_g->stats.t_conn_up_yields++;
                zfpm_rnodes_iter_pause(iter);
-               zfpm_g->t_conn_up = NULL;
                thread_add_timer_msec(zfpm_g->master, zfpm_conn_up_thread_cb,
                                      NULL, 0, &zfpm_g->t_conn_up);
                return 0;
@@ -575,12 +572,12 @@ static void zfpm_connection_up(const char *detail)
        /*
         * Start thread to push existing routes to the FPM.
         */
-       assert(!zfpm_g->t_conn_up);
+       thread_cancel(&zfpm_g->t_conn_up);
 
        zfpm_rnodes_iter_init(&zfpm_g->t_conn_up_state.iter);
 
        zfpm_debug("Starting conn_up thread");
-       zfpm_g->t_conn_up = NULL;
+
        thread_add_timer_msec(zfpm_g->master, zfpm_conn_up_thread_cb, NULL, 0,
                              &zfpm_g->t_conn_up);
        zfpm_g->stats.t_conn_up_starts++;