]> git.puffer.fish Git - matthieu/frr.git/commitdiff
Fix some threads related problems [quagga-dev 591].
authorhasso <hasso>
Wed, 31 Dec 2003 20:33:23 +0000 (20:33 +0000)
committerhasso <hasso>
Wed, 31 Dec 2003 20:33:23 +0000 (20:33 +0000)
isisd/ChangeLog
isisd/isis_dr.c

index 5f4eabe2a187b8064850e08999032c492cd2efc6..6142dfd7f1552e8b5c691267378a735beb16bae0 100644 (file)
@@ -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:
index 5b7d23e6daf0bb1a814b0d77992f50f41da6afcc..f2fcb39d8d685490db9dc01bb3d39c9e559942b3 100644 (file)
@@ -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,