summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bgpd/bgp_io.c3
-rw-r--r--bgpd/bgpd.h1
2 files changed, 3 insertions, 1 deletions
diff --git a/bgpd/bgp_io.c b/bgpd/bgp_io.c
index e9b0f9e46a..9b5a31f289 100644
--- a/bgpd/bgp_io.c
+++ b/bgpd/bgp_io.c
@@ -111,6 +111,7 @@ void bgp_reads_off(struct peer *peer)
thread_cancel_async(fpt->master, &peer->t_read, NULL);
THREAD_OFF(peer->t_process_packet);
+ THREAD_OFF(peer->t_process_packet_error);
UNSET_FLAG(peer->thread_flags, PEER_THREAD_READS_ON);
}
@@ -208,7 +209,7 @@ static int bgp_process_reads(struct thread *thread)
* specific state change from 'bgp_read'.
*/
thread_add_event(bm->master, bgp_packet_process_error,
- peer, code, NULL);
+ peer, code, &peer->t_process_packet_error);
}
while (more) {
diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h
index 867062a88b..d39743a152 100644
--- a/bgpd/bgpd.h
+++ b/bgpd/bgpd.h
@@ -1415,6 +1415,7 @@ struct peer {
struct thread *t_gr_stale;
struct thread *t_generate_updgrp_packets;
struct thread *t_process_packet;
+ struct thread *t_process_packet_error;
struct thread *t_refresh_stalepath;
/* Thread flags. */