summaryrefslogtreecommitdiffstats
path: root/src/vnet/session
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/session')
-rw-r--r--src/vnet/session/session.c2
-rw-r--r--src/vnet/session/session_node.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c
index f6894868a3a..b944f5a2104 100644
--- a/src/vnet/session/session.c
+++ b/src/vnet/session/session.c
@@ -1081,7 +1081,7 @@ stream_session_disconnect (stream_session_t * s)
* held, just append a new event to pending disconnects vector. */
if (vlib_thread_is_main_w_barrier () || thread_index == s->thread_index)
{
- wrk = session_manager_get_worker (thread_index);
+ wrk = session_manager_get_worker (s->thread_index);
vec_add2 (wrk->pending_disconnects, evt, 1);
clib_memset (evt, 0, sizeof (*evt));
evt->session_handle = session_handle (s);
diff --git a/src/vnet/session/session_node.c b/src/vnet/session/session_node.c
index 5ed681d03c7..edc518ee872 100644
--- a/src/vnet/session/session_node.c
+++ b/src/vnet/session/session_node.c
@@ -789,7 +789,7 @@ session_queue_node_fn (vlib_main_t * vm, vlib_node_runtime_t * node,
/* Make sure postponed events are handled first */
fifo_events = wrk->free_event_vector;
vec_append (fifo_events, wrk->postponed_event_vector);
- _vec_len (wrk->pending_disconnects) = 0;
+ _vec_len (wrk->postponed_event_vector) = 0;
/* Try to dequeue what is available. Don't wait for lock.
* XXX: we may need priorities here */
@@ -810,8 +810,8 @@ session_queue_node_fn (vlib_main_t * vm, vlib_node_runtime_t * node,
vec_append (fifo_events, wrk->pending_event_vector);
vec_append (fifo_events, wrk->pending_disconnects);
- _vec_len (wrk->postponed_event_vector) = 0;
_vec_len (wrk->pending_event_vector) = 0;
+ _vec_len (wrk->pending_disconnects) = 0;
n_events = vec_len (fifo_events);
if (PREDICT_FALSE (!n_events))