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();
|
||||
GError *error = NULL;
|
||||
dbi_inst dbi_instance = 0;
|
||||
|
||||
conf->database_host = g_key_file_get_string(conf->keyfile, "database",
|
||||
"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,
|
||||
conf->database_name, conf->database_host, conf->database_username);
|
||||
|
||||
dbi_initialize(NULL);
|
||||
conn = dbi_conn_new(conf->database_driver);
|
||||
dbi_initialize_r(NULL, &dbi_instance);
|
||||
conn = dbi_conn_new_r(conf->database_driver, &dbi_instance);
|
||||
dbi_conn_set_option(conn, "host", conf->database_host);
|
||||
dbi_conn_set_option(conn, "username", conf->database_username);
|
||||
dbi_conn_set_option(conn, "password", conf->database_password);
|
||||
|
|
|
@ -109,6 +109,7 @@ STATUS spacestate_init(void)
|
|||
configuration *conf = get_modifiable_conf();
|
||||
GError *error = NULL;
|
||||
struct sigaction sa;
|
||||
dbi_inst dbi_instance = 0;
|
||||
|
||||
/* Establish SIGCHLD handler. */
|
||||
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,
|
||||
conf->spacestate_name, conf->spacestate_host, conf->spacestate_username);
|
||||
|
||||
dbi_initialize(NULL);
|
||||
conn = dbi_conn_new(conf->spacestate_driver);
|
||||
dbi_initialize_r(NULL, &dbi_instance);
|
||||
conn = dbi_conn_new_r(conf->spacestate_driver, &dbi_instance);
|
||||
dbi_conn_set_option(conn, "host", conf->spacestate_host);
|
||||
dbi_conn_set_option(conn, "username", conf->spacestate_username);
|
||||
dbi_conn_set_option(conn, "password", conf->spacestate_password);
|
||||
|
@ -180,4 +181,3 @@ STATUS spacestate_init(void)
|
|||
|
||||
return ST_OK;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue