summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/vnet/session/session_input.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/vnet/session/session_input.c b/src/vnet/session/session_input.c
index 91e4b90d167..e6868815158 100644
--- a/src/vnet/session/session_input.c
+++ b/src/vnet/session/session_input.c
@@ -194,11 +194,13 @@ app_worker_flush_events_inline (app_worker_t *app_wrk, u32 thread_index,
break;
case SESSION_CTRL_EVT_DISCONNECTED:
s = session_get (evt->session_index, thread_index);
- app->cb_fns.session_disconnect_callback (s);
+ if (s->session_state <= SESSION_STATE_TRANSPORT_CLOSING)
+ app->cb_fns.session_disconnect_callback (s);
break;
case SESSION_CTRL_EVT_RESET:
s = session_get (evt->session_index, thread_index);
- app->cb_fns.session_reset_callback (s);
+ if (s->session_state <= SESSION_STATE_TRANSPORT_CLOSING)
+ app->cb_fns.session_reset_callback (s);
break;
case SESSION_CTRL_EVT_UNLISTEN_REPLY:
if (is_builtin)