Define a new member watcher_list in proxy. It will be used to register
modules which iterate over the proxies list. This will ensure that the
operation is safe even if a backend is removed in parallel.
struct list filter_configs; /* list of the filters that are declared on this proxy */
struct guid_node guid; /* GUID global tree node */
+ struct mt_list watcher_list; /* list of elems which currently references this proxy instance (currently only used with backends) */
EXTRA_COUNTERS(extra_counters_fe);
EXTRA_COUNTERS(extra_counters_be);
p->stream_new_from_sc = stream_new;
guid_init(&p->guid);
+ MT_LIST_INIT(&p->watcher_list);
p->extra_counters_fe = NULL;
p->extra_counters_be = NULL;