From ef91534e665cf343af2389df11d46559a1f83d78 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Sat, 29 Sep 2018 10:23:06 -0700 Subject: tls: fix disconnects for sessions with pending data TLS can enqueue events to itself when app session queue cannot be entirely drained. If a pending disconnect is handled before any such event, session layer may try to dequeue data on deallocated sessions. Change-Id: I5bfc4d53ce95bc16b6a01e1b0e644aafa1ca311b Signed-off-by: Florin Coras --- src/vnet/session/session.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/vnet/session/session.h') diff --git a/src/vnet/session/session.h b/src/vnet/session/session.h index aa827556d45..1e08cccb6f7 100644 --- a/src/vnet/session/session.h +++ b/src/vnet/session/session.h @@ -38,6 +38,7 @@ typedef enum SESSION_IO_EVT_CT_TX, FIFO_EVENT_DISCONNECT, FIFO_EVENT_BUILTIN_RX, + FIFO_EVENT_BUILTIN_TX, FIFO_EVENT_RPC, SESSION_CTRL_EVT_BOUND, SESSION_CTRL_EVT_ACCEPTED, @@ -557,7 +558,7 @@ void stream_session_disconnect_transport (stream_session_t * s); void stream_session_cleanup (stream_session_t * s); int session_send_io_evt_to_thread (svm_fifo_t * f, session_evt_type_t evt_type); -int session_send_io_evt_to_thread_custom (svm_fifo_t * f, u32 thread_index, +int session_send_io_evt_to_thread_custom (void *data, u32 thread_index, session_evt_type_t evt_type); void session_send_rpc_evt_to_thread (u32 thread_index, void *fp, void *rpc_args); -- cgit 1.2.3-korg