netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Eric Leblond <eric@regit.org>
To: netfilter-devel@vger.kernel.org
Cc: Eric Leblond <eric@regit.org>
Subject: [PATCH 10/11] db: disable SIGHUP if ring buffer is used.
Date: Fri, 10 May 2013 08:48:57 +0200	[thread overview]
Message-ID: <1368168538-29780-11-git-send-email-eric@regit.org> (raw)
In-Reply-To: <1368168538-29780-1-git-send-email-eric@regit.org>

The handling of signal when using threads can be complicated. When
ring buffer is used for query, this means ulogd will have to follow
some sort of mutex. Thus, it is easier and better performance wise
to disable the reload via SIGHUP when the ring buffer is used.

Signed-off-by: Eric Leblond <eric@regit.org>
---
 util/db.c |   11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/util/db.c b/util/db.c
index 4050f0f..c23c362 100644
--- a/util/db.c
+++ b/util/db.c
@@ -607,11 +607,16 @@ static void *__inject_thread(void *gdi)
 
 void ulogd_db_signal(struct ulogd_pluginstance *upi, int signal)
 {
+	struct db_instance *di = (struct db_instance *) &upi->private;
 	switch (signal) {
 	case SIGHUP:
-		/* reopen database connection */
-		ulogd_db_instance_stop(upi);
-		ulogd_db_start(upi);
+		if (!di->ring.size) {
+			/* reopen database connection */
+			ulogd_db_instance_stop(upi);
+			ulogd_db_start(upi);
+		} else
+			ulogd_log(ULOGD_ERROR,
+				  "No SIGHUP handling if ring buffer is used\n");
 		break;
 	default:
 		break;
-- 
1.7.10.4


  parent reply	other threads:[~2013-05-10  7:05 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-10  6:48 [PATCH RFC 0/11] ulogd2 db rework Eric Leblond
2013-05-10  6:48 ` [PATCH 01/11] ulogd: display stack during configuration Eric Leblond
2013-05-10  6:48 ` [PATCH 02/11] Fix automagic support of dbi, pcap and sqlite3 Eric Leblond
2013-05-10  6:48 ` [PATCH 03/11] postgresql: add sanity checking Eric Leblond
2013-05-10  6:48 ` [PATCH 04/11] mysql: " Eric Leblond
2013-05-10  6:48 ` [PATCH 05/11] sqlite3: " Eric Leblond
2013-05-10  6:48 ` [PATCH 06/11] db: store data in memory during database downtime Eric Leblond
2013-05-10  6:48 ` [PATCH 07/11] db: suppress field in db structure Eric Leblond
2013-05-10  6:48 ` [PATCH 08/11] db: use offset instead of direct pointer Eric Leblond
2013-05-10  6:48 ` [PATCH 09/11] db: add ring buffer for DB query Eric Leblond
2013-05-11 19:29   ` Pablo Neira Ayuso
2013-05-12 10:29     ` Eric Leblond
2013-05-21 13:38       ` Pablo Neira Ayuso
2013-05-10  6:48 ` Eric Leblond [this message]
2013-05-10  6:48 ` [PATCH 11/11] db: db ring has precedence over backlog Eric Leblond

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1368168538-29780-11-git-send-email-eric@regit.org \
    --to=eric@regit.org \
    --cc=netfilter-devel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).