X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Fapplication.c;h=260ae5882096e5550b3bc2393c04386f1ea17923;hb=400ded36422689c1783e220a1846447bc0058234;hp=b58e73eb4f8969f3991d743fc827b549f2a4902b;hpb=2179513b71963a0b42ca6f1f2b641e79ce89447b;p=vpp.git diff --git a/src/vnet/session/application.c b/src/vnet/session/application.c index b58e73eb4f8..260ae588209 100644 --- a/src/vnet/session/application.c +++ b/src/vnet/session/application.c @@ -557,13 +557,12 @@ app_worker_free (app_worker_t * app_wrk) && app_wrk->first_segment_manager != app_wrk->connects_seg_manager) { sm = segment_manager_get (app_wrk->first_segment_manager); + sm->first_is_protected = 0; + sm->app_wrk_index = SEGMENT_MANAGER_INVALID_APP_INDEX; /* .. and has no fifos, e.g. it might be used for redirected sessions, * remove it */ if (!segment_manager_has_fifos (sm)) - { - sm->app_wrk_index = SEGMENT_MANAGER_INVALID_APP_INDEX; - segment_manager_del (sm); - } + segment_manager_del (sm); } /* @@ -1267,9 +1266,10 @@ app_send_io_evt_rx (app_worker_t * app_wrk, stream_session_t * s, u8 lock) evt->fifo = s->server_rx_fifo; evt->event_type = FIFO_EVENT_APP_RX; + (void) svm_fifo_set_event (s->server_rx_fifo); + if (app_enqueue_evt (mq, &msg, lock)) return -1; - (void) svm_fifo_set_event (s->server_rx_fifo); return 0; }