From: /C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org Date: Tue, 25 Mar 2008 09:57:12 +0000 (+0000) Subject: This patch adds plist a linked list to the pluginstance X-Git-Tag: ulogd-2.0.0beta2~89 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a13c6d27770a1fbc6fba1ffcd9d88681b581a01e;p=thirdparty%2Fulogd2.git This patch adds plist a linked list to the pluginstance structure. It can be used by input modules to duplicate an entry. This solves the issue of not being able to use the same plugin instance twice. Signed-off-by: Eric Leblond --- diff --git a/include/ulogd/ulogd.h b/include/ulogd/ulogd.h index 39ac464..73a1711 100644 --- a/include/ulogd/ulogd.h +++ b/include/ulogd/ulogd.h @@ -168,6 +168,8 @@ struct ulogd_plugin { struct ulogd_pluginstance { /* local list of plugins in this stack */ struct llist_head list; + /* local list of plugininstance in other stacks */ + struct llist_head plist; /* plugin */ struct ulogd_plugin *plugin; /* stack that we're part of */ diff --git a/src/ulogd.c b/src/ulogd.c index 7a779e6..ef1c191 100644 --- a/src/ulogd.c +++ b/src/ulogd.c @@ -529,6 +529,7 @@ pluginstance_alloc_init(struct ulogd_plugin *pl, char *pi_id, /* initialize */ memset(pi, 0, size); INIT_LLIST_HEAD(&pi->list); + INIT_LLIST_HEAD(&pi->plist); pi->plugin = pl; pi->stack = stack; memcpy(pi->id, pi_id, sizeof(pi->id)); @@ -721,6 +722,7 @@ static int pluginstance_started(struct ulogd_pluginstance *npi) if (!strcmp(pi->id, npi->id)) { ulogd_log(ULOGD_INFO, "%s instance already " "loaded\n", pi->id); + llist_add(&pi->plist, &npi->plist); return 1; } }