diff options
author | hasso <hasso> | 2003-12-31 20:33:23 +0000 |
---|---|---|
committer | hasso <hasso> | 2003-12-31 20:33:23 +0000 |
commit | 72e2556c1f37329a611a686cc584d776c4c1b24f (patch) | |
tree | 367fc5d7f32a9042f9970be70695e027a746b1f0 | |
parent | df1ea3b7da4b5d72b8c44ac78bbd0c57844aa0b6 (diff) | |
download | quagga-72e2556c1f37329a611a686cc584d776c4c1b24f.tar.bz2 quagga-72e2556c1f37329a611a686cc584d776c4c1b24f.tar.xz |
Fix some threads related problems [quagga-dev 591].
-rw-r--r-- | isisd/ChangeLog | 3 | ||||
-rw-r--r-- | isisd/isis_dr.c | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/isisd/ChangeLog b/isisd/ChangeLog index 5f4eabe2..6142dfd7 100644 --- a/isisd/ChangeLog +++ b/isisd/ChangeLog @@ -1,3 +1,6 @@ +2003-12-31 Hasso Tepper <hasso@estpak.ee> + * isis_dr.c: Fix some threads related bugs. + 2003-12-23 Hasso Tepper <hasso@estpak.ee> Some fixes done by me and Cougar <cougar@random.ee>. * isis_adjacency.c: Two bugfixes by Cougar: diff --git a/isisd/isis_dr.c b/isisd/isis_dr.c index 5b7d23e6..f2fcb39d 100644 --- a/isisd/isis_dr.c +++ b/isisd/isis_dr.c @@ -80,6 +80,7 @@ isis_run_dr_l1 (struct thread *thread) if (circuit->u.bc.run_dr_elect[0]) zlog_warn ("isis_run_dr(): run_dr_elect already set for l1"); + circuit->u.bc.t_run_dr[0] = NULL; circuit->u.bc.run_dr_elect[0] = 1; return ISIS_OK; @@ -97,6 +98,7 @@ isis_run_dr_l2 (struct thread *thread) zlog_warn ("isis_run_dr(): run_dr_elect already set for l2"); + circuit->u.bc.t_run_dr[1] = NULL; circuit->u.bc.run_dr_elect[1] = 1; return ISIS_OK; @@ -273,8 +275,8 @@ isis_dr_resign (struct isis_circuit *circuit, int level) } else { memset (circuit->u.bc.l2_desig_is, 0, ISIS_SYS_ID_LEN + 1); - if (circuit->t_send_csnp[0]) - thread_cancel (circuit->t_send_csnp[0]); + if (circuit->t_send_csnp[1]) + thread_cancel (circuit->t_send_csnp[1]); circuit->u.bc.t_run_dr[1] = thread_add_timer (master, isis_run_dr_l2, circuit, |