mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-18 01:14:38 +00:00
MINOR: pattern: during reload, delete elements frem the ref, not the expression
Instead of scanning all elements from the expression and using the slow delete path there, let's use the faster way which involves pat_delete_gen() while the elements are detached from ther reference.
This commit is contained in:
parent
ae83e63b48
commit
2817472bb0
@ -2074,9 +2074,8 @@ void pat_ref_reload(struct pat_ref *ref, struct pat_ref *replace)
|
||||
LIST_DEL_INIT(&bref->users);
|
||||
bref->ref = NULL;
|
||||
}
|
||||
pat_delete_gen(ref, elt);
|
||||
LIST_DEL(&elt->list);
|
||||
LIST_DEL(&elt->list_head);
|
||||
LIST_DEL(&elt->tree_head);
|
||||
free(elt->pattern);
|
||||
free(elt->sample);
|
||||
free(elt);
|
||||
@ -2087,7 +2086,6 @@ void pat_ref_reload(struct pat_ref *ref, struct pat_ref *replace)
|
||||
LIST_DEL(&replace->head);
|
||||
|
||||
list_for_each_entry(expr, &ref->pat, list) {
|
||||
expr->pat_head->prune(expr);
|
||||
list_for_each_entry(elt, &ref->head, list) {
|
||||
char *err = NULL;
|
||||
struct sample_data *data = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user