summaryrefslogtreecommitdiff
path: root/shaping/src/shaper_session.cpp
diff options
context:
space:
mode:
author刘畅 <[email protected]>2024-06-05 09:36:46 +0000
committer刘畅 <[email protected]>2024-06-05 09:36:46 +0000
commitf91407a5524365bb93dc6e8f96ef2b08ef3fe8a0 (patch)
treeea321ee2ec356db1ae52cdb562b90a45dfbf17a5 /shaping/src/shaper_session.cpp
parentdbb0f42537aee97e8f393f9f8a84856fb8aec5af (diff)
parentda691ef02580893d6539f39e7543443f427ef2a6 (diff)
Merge branch 'session_in_out_pkts_independent_queue' into 'rel'v3.1.37
TSG-19453: Session in out pkts independent queue See merge request tango/shaping-engine!97
Diffstat (limited to 'shaping/src/shaper_session.cpp')
-rw-r--r--shaping/src/shaper_session.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/shaping/src/shaper_session.cpp b/shaping/src/shaper_session.cpp
index 494950b..f58d55f 100644
--- a/shaping/src/shaper_session.cpp
+++ b/shaping/src/shaper_session.cpp
@@ -195,7 +195,7 @@ struct shaping_flow* shaper_session_close(struct shaping_thread_ctx *ctx, struct
sf = (struct shaping_flow *)session_node->val_data;
- if (shaper_queue_empty(sf)) {
+ if (shaper_queue_empty(sf, SHAPING_DIR_IN) && shaper_queue_empty(sf, SHAPING_DIR_OUT)) {
shaping_flow_free(ctx, sf);
} else {
sf->flag |= SESSION_CLOSE;
@@ -245,7 +245,8 @@ void shaper_session_data_free_cb(void *session_data, void *data)
struct shaping_thread_ctx *ctx = (struct shaping_thread_ctx *)data;
if (sf) {
- shaper_queue_clear(sf, ctx);
+ shaper_queue_clear(sf, ctx, SHAPING_DIR_IN);
+ shaper_queue_clear(sf, ctx, SHAPING_DIR_OUT);
shaping_flow_free(ctx, sf);
}