X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Fsession.c;h=b006cfaf2bbbfabfcfb74d267ae923106c0afada;hb=282872127;hp=33691068b0c7952087fa6b1935e556d01e19a21c;hpb=39d69112fcec114fde34955ceb41555221d3ba11;p=vpp.git diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c index 33691068b0c..b006cfaf2bb 100644 --- a/src/vnet/session/session.c +++ b/src/vnet/session/session.c @@ -1003,7 +1003,14 @@ session_stream_accept_notify (transport_connection_t * tc) if (!app_wrk) return -1; s->session_state = SESSION_STATE_ACCEPTING; - return app_worker_accept_notify (app_wrk, s); + if (app_worker_accept_notify (app_wrk, s)) + { + /* On transport delete, no notifications should be sent. Unless, the + * accept is retried and successful. */ + s->session_state = SESSION_STATE_CREATED; + return -1; + } + return 0; } /** @@ -1333,7 +1340,6 @@ session_vpp_event_queues_allocate (session_main_t * smm) { u32 evt_q_length = 2048, evt_size = sizeof (session_event_t); ssvm_private_t *eqs = &smm->evt_qs_segment; - api_main_t *am = vlibapi_get_main (); uword eqs_size = 64 << 20; pid_t vpp_pid = getpid (); void *oldheap; @@ -1363,7 +1369,7 @@ session_vpp_event_queues_allocate (session_main_t * smm) if (smm->evt_qs_use_memfd_seg) oldheap = ssvm_push_heap (eqs->sh); else - oldheap = svm_push_data_heap (am->vlib_rp); + oldheap = vl_msg_push_heap (); for (i = 0; i < vec_len (smm->wrk); i++) { @@ -1388,7 +1394,7 @@ session_vpp_event_queues_allocate (session_main_t * smm) if (smm->evt_qs_use_memfd_seg) ssvm_pop_heap (oldheap); else - svm_pop_heap (oldheap); + vl_msg_pop_heap (oldheap); } ssvm_private_t *