summaryrefslogtreecommitdiff
path: root/plugins/imuxsock
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2011-05-19 22:53:09 +0200
committerMichael Biebl <biebl@debian.org>2011-05-19 22:53:09 +0200
commit734f0031f3366c83552de8b0e628949d47ff9487 (patch)
tree75cb2c0985c21bc7ffd6d06e94ec7fb420f2a1c4 /plugins/imuxsock
parent2e96de39e5394008f97d6c194e507e629d836738 (diff)
downloadrsyslog-734f0031f3366c83552de8b0e628949d47ff9487.tar.gz
Imported Upstream version 5.8.1upstream/5.8.1
Diffstat (limited to 'plugins/imuxsock')
-rw-r--r--plugins/imuxsock/Makefile.in3
-rw-r--r--plugins/imuxsock/imuxsock.c9
2 files changed, 9 insertions, 3 deletions
diff --git a/plugins/imuxsock/Makefile.in b/plugins/imuxsock/Makefile.in
index 13501b0..b9a6617 100644
--- a/plugins/imuxsock/Makefile.in
+++ b/plugins/imuxsock/Makefile.in
@@ -186,6 +186,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PGSQL_CFLAGS = @PGSQL_CFLAGS@
PGSQL_LIBS = @PGSQL_LIBS@
PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PTHREADS_CFLAGS = @PTHREADS_CFLAGS@
PTHREADS_LIBS = @PTHREADS_LIBS@
RANLIB = @RANLIB@
@@ -242,7 +244,6 @@ libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
moddirs = @moddirs@
diff --git a/plugins/imuxsock/imuxsock.c b/plugins/imuxsock/imuxsock.c
index 86393ba..af034b9 100644
--- a/plugins/imuxsock/imuxsock.c
+++ b/plugins/imuxsock/imuxsock.c
@@ -432,7 +432,8 @@ finalize_it:
/* find ratelimiter to use for this message. Currently, we use the
* pid, but may change to cgroup later (probably via a config switch).
- * Returns NULL if not found.
+ * Returns NULL if not found or rate-limiting not activated for this
+ * listener (the latter being a performance enhancement).
*/
static inline rsRetVal
findRatelimiter(lstn_t *pLstn, struct ucred *cred, rs_ratelimit_state_t **prl)
@@ -444,6 +445,10 @@ findRatelimiter(lstn_t *pLstn, struct ucred *cred, rs_ratelimit_state_t **prl)
if(cred == NULL)
FINALIZE;
+ if(pLstn->ratelimitInterval == 0) {
+ *prl = NULL;
+ FINALIZE;
+ }
rl = hashtable_search(pLstn->ht, &cred->pid);
if(rl == NULL) {
@@ -454,7 +459,7 @@ findRatelimiter(lstn_t *pLstn, struct ucred *cred, rs_ratelimit_state_t **prl)
CHKmalloc(rl = malloc(sizeof(rs_ratelimit_state_t)));
CHKmalloc(keybuf = malloc(sizeof(pid_t)));
*keybuf = cred->pid;
- initRatelimitState(rl, ratelimitInterval, pLstn->ratelimitBurst);
+ initRatelimitState(rl, pLstn->ratelimitInterval, pLstn->ratelimitBurst);
r = hashtable_insert(pLstn->ht, keybuf, rl);
if(r == 0)
ABORT_FINALIZE(RS_RET_OUT_OF_MEMORY);