diff options
Diffstat (limited to 'src/vnet/session')
-rw-r--r-- | src/vnet/session/session_input.c | 6 |
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) |