diff options
Diffstat (limited to 'src/vnet/session/session_input.c')
-rw-r--r-- | src/vnet/session/session_input.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/vnet/session/session_input.c b/src/vnet/session/session_input.c index 73b777127fd..01be281d4f7 100644 --- a/src/vnet/session/session_input.c +++ b/src/vnet/session/session_input.c @@ -217,9 +217,7 @@ app_worker_flush_events_inline (app_worker_t *app_wrk, u32 thread_index, s->connection_index, s->thread_index); session_free (s); /* Notify app that it has data on the new session */ - s = session_get_from_handle (evt->as_u64[1]); - session_send_io_evt_to_thread (s->rx_fifo, - SESSION_IO_EVT_BUILTIN_RX); + session_program_rx_io_evt (evt->as_u64[1]); break; case SESSION_CTRL_EVT_TRANSPORT_CLOSED: s = session_get (evt->session_index, thread_index); @@ -257,6 +255,9 @@ app_worker_flush_events_inline (app_worker_t *app_wrk, u32 thread_index, app->cb_fns.del_segment_callback (app_wrk->wrk_index, evt->as_u64[1]); break; + case SESSION_CTRL_EVT_RPC: + ((void (*) (session_t * s)) (evt->rpc_args.fp)) (evt->rpc_args.arg); + break; default: clib_warning ("unexpected event: %u", evt->event_type); ASSERT (0); |