Move to threadsafe dbi_initialize_r and dbi_conn_new_r, might actually solve the file handle leaks by DBI
This commit is contained in:
parent
2d30b72498
commit
f46e66165e
2 changed files with 6 additions and 5 deletions
|
@ -128,6 +128,7 @@ STATUS database_init(void)
|
||||||
{
|
{
|
||||||
configuration *conf = get_modifiable_conf();
|
configuration *conf = get_modifiable_conf();
|
||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
|
dbi_inst dbi_instance = 0;
|
||||||
|
|
||||||
conf->database_host = g_key_file_get_string(conf->keyfile, "database",
|
conf->database_host = g_key_file_get_string(conf->keyfile, "database",
|
||||||
"host", &error);
|
"host", &error);
|
||||||
|
@ -167,8 +168,8 @@ STATUS database_init(void)
|
||||||
DEBUG(1, "Setting properties to %s database %s at %s as user %s", conf->database_driver,
|
DEBUG(1, "Setting properties to %s database %s at %s as user %s", conf->database_driver,
|
||||||
conf->database_name, conf->database_host, conf->database_username);
|
conf->database_name, conf->database_host, conf->database_username);
|
||||||
|
|
||||||
dbi_initialize(NULL);
|
dbi_initialize_r(NULL, &dbi_instance);
|
||||||
conn = dbi_conn_new(conf->database_driver);
|
conn = dbi_conn_new_r(conf->database_driver, &dbi_instance);
|
||||||
dbi_conn_set_option(conn, "host", conf->database_host);
|
dbi_conn_set_option(conn, "host", conf->database_host);
|
||||||
dbi_conn_set_option(conn, "username", conf->database_username);
|
dbi_conn_set_option(conn, "username", conf->database_username);
|
||||||
dbi_conn_set_option(conn, "password", conf->database_password);
|
dbi_conn_set_option(conn, "password", conf->database_password);
|
||||||
|
|
|
@ -109,6 +109,7 @@ STATUS spacestate_init(void)
|
||||||
configuration *conf = get_modifiable_conf();
|
configuration *conf = get_modifiable_conf();
|
||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
struct sigaction sa;
|
struct sigaction sa;
|
||||||
|
dbi_inst dbi_instance = 0;
|
||||||
|
|
||||||
/* Establish SIGCHLD handler. */
|
/* Establish SIGCHLD handler. */
|
||||||
sigemptyset(&sa.sa_mask);
|
sigemptyset(&sa.sa_mask);
|
||||||
|
@ -170,8 +171,8 @@ STATUS spacestate_init(void)
|
||||||
DEBUG(1, "Setting properties to %s space state database %s at %s as user %s", conf->spacestate_driver,
|
DEBUG(1, "Setting properties to %s space state database %s at %s as user %s", conf->spacestate_driver,
|
||||||
conf->spacestate_name, conf->spacestate_host, conf->spacestate_username);
|
conf->spacestate_name, conf->spacestate_host, conf->spacestate_username);
|
||||||
|
|
||||||
dbi_initialize(NULL);
|
dbi_initialize_r(NULL, &dbi_instance);
|
||||||
conn = dbi_conn_new(conf->spacestate_driver);
|
conn = dbi_conn_new_r(conf->spacestate_driver, &dbi_instance);
|
||||||
dbi_conn_set_option(conn, "host", conf->spacestate_host);
|
dbi_conn_set_option(conn, "host", conf->spacestate_host);
|
||||||
dbi_conn_set_option(conn, "username", conf->spacestate_username);
|
dbi_conn_set_option(conn, "username", conf->spacestate_username);
|
||||||
dbi_conn_set_option(conn, "password", conf->spacestate_password);
|
dbi_conn_set_option(conn, "password", conf->spacestate_password);
|
||||||
|
@ -180,4 +181,3 @@ STATUS spacestate_init(void)
|
||||||
|
|
||||||
return ST_OK;
|
return ST_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue