summaryrefslogtreecommitdiffstats
path: root/src/plugins/tlsopenssl
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2021-03-24 00:02:49 -0700
committerFlorin Coras <florin.coras@gmail.com>2021-03-24 15:15:34 +0000
commitda282b5d087d6acca38aedc37f55ac2d749e874f (patch)
treeaa645c425f9aac3ddec003d705858fd1de87814e /src/plugins/tlsopenssl
parentd4008cfb4c3fac6e1a9acb0fb53a31954981a77d (diff)
tls: fix cleanup on app close with data
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I35b5ae5a58ab38cc4328f9f438938fab4fbd7942
Diffstat (limited to 'src/plugins/tlsopenssl')
-rw-r--r--src/plugins/tlsopenssl/tls_openssl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/plugins/tlsopenssl/tls_openssl.c b/src/plugins/tlsopenssl/tls_openssl.c
index a10372d1c9c..4278c34403d 100644
--- a/src/plugins/tlsopenssl/tls_openssl.c
+++ b/src/plugins/tlsopenssl/tls_openssl.c
@@ -386,6 +386,9 @@ openssl_ctx_write_tls (tls_ctx_t *ctx, session_t *app_session,
check_tls_fifo:
+ if (PREDICT_FALSE (ctx->app_closed && BIO_ctrl_pending (oc->rbio) <= 0))
+ openssl_confirm_app_close (ctx);
+
/* Deschedule and wait for deq notification if fifo is almost full */
enq_buf = clib_min (svm_fifo_size (ts->tx_fifo) / 2, TLSO_MIN_ENQ_SPACE);
if (space < wrote + enq_buf)