diff options
author | Florin Coras <fcoras@cisco.com> | 2019-09-19 08:19:44 -0700 |
---|---|---|
committer | Andrew Yourtchenko <ayourtch@gmail.com> | 2019-09-30 15:30:00 +0000 |
commit | 8e4afc86d2e1853abcf0626902a2e75ef127b631 (patch) | |
tree | 3b9ac8ffcce3ffafd637385609bf280d3cdae939 /src | |
parent | 2fa9f679c89d2d25d0a2024e9faaedbd73cbbb61 (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>
(cherry picked from commit 5c29029ef029edc96340f9eecf7fe24821f2ef2a)
Diffstat (limited to 'src')
-rw-r--r-- | src/vnet/session/application_worker.c | 8 |
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; |