summaryrefslogtreecommitdiffstats
path: root/util/db.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/db.c')
-rw-r--r--util/db.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/util/db.c b/util/db.c
index 184ad86..8d812c7 100644
--- a/util/db.c
+++ b/util/db.c
@@ -190,18 +190,12 @@ int ulogd_db_start(struct ulogd_pluginstance *upi)
return ret;
}
-int ulogd_db_stop(struct ulogd_pluginstance *upi)
+static int ulogd_db_instance_stop(struct ulogd_pluginstance *upi)
{
struct db_instance *di = (struct db_instance *) upi->private;
ulogd_log(ULOGD_NOTICE, "stopping\n");
di->driver->close_db(upi);
- /* try to free our dynamically allocated input key array */
- if (upi->input.keys) {
- free(upi->input.keys);
- upi->input.keys = NULL;
- }
-
/* try to free the buffer for insert statement */
if (di->stmt) {
free(di->stmt);
@@ -211,6 +205,19 @@ int ulogd_db_stop(struct ulogd_pluginstance *upi)
return 0;
}
+int ulogd_db_stop(struct ulogd_pluginstance *upi)
+{
+ ulogd_db_instance_stop(upi);
+
+ /* try to free our dynamically allocated input key array */
+ if (upi->input.keys) {
+ free(upi->input.keys);
+ upi->input.keys = NULL;
+ }
+
+ return 0;
+}
+
static int _init_reconnect(struct ulogd_pluginstance *upi)
{
@@ -356,7 +363,7 @@ void ulogd_db_signal(struct ulogd_pluginstance *upi, int signal)
switch (signal) {
case SIGHUP:
/* reopen database connection */
- ulogd_db_stop(upi);
+ ulogd_db_instance_stop(upi);
ulogd_db_start(upi);
break;
default: