session: flag instead of state for filtering ntf 33/40233/1
authorFlorin Coras <fcoras@cisco.com>
Tue, 23 Jan 2024 01:04:36 +0000 (17:04 -0800)
committerFlorin Coras <fcoras@cisco.com>
Tue, 23 Jan 2024 01:05:34 +0000 (17:05 -0800)
Avoid situations when notifications are delayed for long enough for
transports to start closing/cleaning up.

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id35b0099adb5242108154a5e19d5ee15e6ca0058

src/vnet/session/session_input.c

index e686881..9153f07 100644 (file)
@@ -194,12 +194,12 @@ 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);
-         if (s->session_state <= SESSION_STATE_TRANSPORT_CLOSING)
+         if (!(s->flags & SESSION_F_APP_CLOSED))
            app->cb_fns.session_disconnect_callback (s);
          break;
        case SESSION_CTRL_EVT_RESET:
          s = session_get (evt->session_index, thread_index);
-         if (s->session_state <= SESSION_STATE_TRANSPORT_CLOSING)
+         if (!(s->flags & SESSION_F_APP_CLOSED))
            app->cb_fns.session_reset_callback (s);
          break;
        case SESSION_CTRL_EVT_UNLISTEN_REPLY: