diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2013-07-05 14:30:24 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2013-07-05 14:30:24 +0200 |
commit | df5d877282690154ec81b81c458d3badb25aada4 (patch) | |
tree | 6dea05bbddca0164ca5047e9610f724541bf47fa /plugins/omlibdbi/omlibdbi.c | |
parent | d43a2e8f3f0e1f87bfa041263f02d727c00e97c7 (diff) | |
download | rsyslog-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.c | 4 |
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 |