summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhasso <hasso>2003-12-31 20:33:23 +0000
committerhasso <hasso>2003-12-31 20:33:23 +0000
commitefc1e725778b55917962092ee9d0f735c9ef54dc (patch)
treea88d572290c1ec4feb6210c06aad430d85b55858
parent15d74e93405f0f9bb9e399163b8e53bb589699d6 (diff)
Fix some threads related problems [quagga-dev 591].
-rw-r--r--isisd/ChangeLog3
-rw-r--r--isisd/isis_dr.c6
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,