summaryrefslogtreecommitdiffstats
path: root/plugins/omlibdbi/omlibdbi.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2013-07-05 14:30:24 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2013-07-05 14:30:24 +0200
commitdf5d877282690154ec81b81c458d3badb25aada4 (patch)
tree6dea05bbddca0164ca5047e9610f724541bf47fa /plugins/omlibdbi/omlibdbi.c
parentd43a2e8f3f0e1f87bfa041263f02d727c00e97c7 (diff)
downloadrsyslog-df5d877282690154ec81b81c458d3badb25aada4.tar.gz
rsyslog-df5d877282690154ec81b81c458d3badb25aada4.tar.bz2
rsyslog-df5d877282690154ec81b81c458d3badb25aada4.zip
bugfix: omlibdbi did not properly close connection on some errors
This happened to errors occuring in Begin/End Transaction entry points.
Diffstat (limited to 'plugins/omlibdbi/omlibdbi.c')
-rw-r--r--plugins/omlibdbi/omlibdbi.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/plugins/omlibdbi/omlibdbi.c b/plugins/omlibdbi/omlibdbi.c
index c3cac539..3beba4f0 100644
--- a/plugins/omlibdbi/omlibdbi.c
+++ b/plugins/omlibdbi/omlibdbi.c
@@ -344,7 +344,8 @@ CODESTARTbeginTransaction
dbi_conn_error(pData->conn, &emsg);
dbgprintf("libdbi server error: begin transaction "
"not successful: %s\n", emsg);
- iRet = RS_RET_SUSPENDED;
+ closeConn(pData);
+ ABORT_FINALIZE(RS_RET_SUSPENDED);
}
}
# endif
@@ -372,6 +373,7 @@ CODESTARTendTransaction
dbi_conn_error(pData->conn, &emsg);
dbgprintf("libdbi server error: transaction not committed: %s\n",
emsg);
+ closeConn(pData);
iRet = RS_RET_SUSPENDED;
}
# endif