session_get_tcp_segment() and session_free_tcp_segment() support asynchronous calls

This commit is contained in:
luwenpeng
2024-05-15 17:45:08 +08:00
parent 00df68695e
commit 44c2cf86e4
3 changed files with 6 additions and 2 deletions

View File

@@ -210,8 +210,9 @@ struct tcp_segment *session_get_tcp_segment(struct session *sess)
enum flow_direction dir = session_get_current_flow_direction(sess);
struct tcp_half *half = &sess->tcp_halfs[dir];
if (half->in_order.data != NULL && half->in_order.len > 0)
if (half->in_order.data != NULL && half->in_order.len > 0 && half->in_order_ref == 0)
{
half->in_order_ref++;
return &half->in_order;
}
else