mirror of
http://git.haproxy.org/git/haproxy.git
synced 2026-02-08 07:43:38 +02: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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user