session: fix cleanup in closing states
Type: fix Change-Id: Iccc283bb98d3bb459a711ec2b74d6a32ad12903b Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 54c93cfc2556d9c6d2cf472f51d4c2866a556ef6)
This commit is contained in:
Florin Coras
committed by
Andrew Yourtchenko
parent
e8bcb944c5
commit
1e937f8a88
@ -1279,11 +1279,9 @@ session_transport_reset (session_t * s)
|
|||||||
void
|
void
|
||||||
session_transport_cleanup (session_t * s)
|
session_transport_cleanup (session_t * s)
|
||||||
{
|
{
|
||||||
s->session_state = SESSION_STATE_CLOSED;
|
|
||||||
|
|
||||||
/* Delete from main lookup table before we axe the the transport */
|
/* Delete from main lookup table before we axe the the transport */
|
||||||
session_lookup_del_session (s);
|
session_lookup_del_session (s);
|
||||||
if (s->session_state != SESSION_STATE_TRANSPORT_DELETED)
|
if (s->session_state < SESSION_STATE_TRANSPORT_DELETED)
|
||||||
transport_cleanup (session_get_transport_proto (s), s->connection_index,
|
transport_cleanup (session_get_transport_proto (s), s->connection_index,
|
||||||
s->thread_index);
|
s->thread_index);
|
||||||
/* Since we called cleanup, no delete notification will come. So, make
|
/* Since we called cleanup, no delete notification will come. So, make
|
||||||
|
@ -475,6 +475,8 @@ tcp_session_cleanup (u32 conn_index, u32 thread_index)
|
|||||||
{
|
{
|
||||||
tcp_connection_t *tc;
|
tcp_connection_t *tc;
|
||||||
tc = tcp_connection_get (conn_index, thread_index);
|
tc = tcp_connection_get (conn_index, thread_index);
|
||||||
|
if (!tc)
|
||||||
|
return;
|
||||||
tcp_connection_set_state (tc, TCP_STATE_CLOSED);
|
tcp_connection_set_state (tc, TCP_STATE_CLOSED);
|
||||||
tcp_connection_cleanup (tc);
|
tcp_connection_cleanup (tc);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user