summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2019-09-19 08:19:44 -0700
committerJohn Lo <loj@cisco.com>2019-09-19 17:49:33 +0000
commit5c29029ef029edc96340f9eecf7fe24821f2ef2a (patch)
treebd77efc8afa528ecfdc4cca39bc6fdf7d86d0720 /src
parentde2dd6c35653225525b071d4dc748451e0d6bd7d (diff)
session: builtin app rx notifications regardless of state
Type: feature Provide rx notifications to builtin apps even after disconnect. Consequently tcp connections that are past FIN_WAIT_1 can still receive rx notifications. This is not currently supported for external applications. Change-Id: I529da7f7120b0e7c62c5026ac71f86d6b5196cf4 Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src')
-rw-r--r--src/vnet/session/application_worker.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/vnet/session/application_worker.c b/src/vnet/session/application_worker.c
index 28793681afb..30edf3c32cc 100644
--- a/src/vnet/session/application_worker.c
+++ b/src/vnet/session/application_worker.c
@@ -550,13 +550,15 @@ app_send_io_evt_rx (app_worker_t * app_wrk, session_t * s)
svm_msg_q_msg_t msg;
svm_msg_q_t *mq;
+ if (app_worker_application_is_builtin (app_wrk))
+ return app_worker_builtin_rx (app_wrk, s);
+
+ /* Make sure the session is in established state within external apps.
+ * Should be removed once we confirm closes to apps */
if (PREDICT_FALSE (s->session_state != SESSION_STATE_READY
&& s->session_state != SESSION_STATE_LISTENING))
return 0;
- if (app_worker_application_is_builtin (app_wrk))
- return app_worker_builtin_rx (app_wrk, s);
-
if (svm_fifo_has_event (s->rx_fifo))
return 0;