diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2013-07-13 23:14:48 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2013-07-13 23:14:48 +0300 |
commit | 72ccd492bcf4979e6de11569a46ea47040897865 (patch) | |
tree | c5e255a0a11d284c8976a471462365ce7caf3cdd | |
parent | 988476b40eaf7038b5d35bc1fba44aad0c74d013 (diff) | |
download | vmod-dbrw-72ccd492bcf4979e6de11569a46ea47040897865.tar.gz vmod-dbrw-72ccd492bcf4979e6de11569a46ea47040897865.tar.bz2 |
Bugfix.
* src/sql.c (sql_connect): Act in accordance with the current state.
-rw-r--r-- | src/sql.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -71,6 +71,20 @@ sql_connect(struct dbrw_connection *conn) { CONN_ASSERT_VAL(conn, 1); debug(conn->conf, 5, ("sql_connect: state=%d", conn->state)); + switch (conn->state) { + case state_init: + break; + case state_connected: + case state_result: + return 0; + case state_error: + sql_disconnect(conn); + if (conn->state != state_init) + return 1; + break; + case state_disabled: + return 1; + } assert(conn->conf->backend->sql_connect); if (conn->conf->backend->sql_connect(conn)) return 1; |