don't know exactly the reason, but here without this back-hdb suddenly starts crashings all times (since bdb_monitor_* stuff)

This commit is contained in:
Pierangelo Masarati 2006-09-26 08:43:01 +00:00
parent 18450addda
commit 067d6904c2
3 changed files with 17 additions and 7 deletions

View File

@ -140,7 +140,7 @@ static ConfigOCs bdbocs[] = {
"olcDbNoSync $ olcDbDirtyRead $ olcDbIDLcacheSize $ "
"olcDbIndex $ olcDbLinearIndex $ olcDbLockDetect $ "
"olcDbMode $ olcDbSearchStack $ olcDbShmKey $ "
" olcDbCacheFree ) )",
"olcDbCacheFree ) )",
Cft_Database, bdbcfg },
{ NULL, 0, NULL }
};
@ -333,7 +333,7 @@ bdb_cf_cleanup( ConfigArgs *c )
}
static int
bdb_cf_gen(ConfigArgs *c)
bdb_cf_gen( ConfigArgs *c )
{
struct bdb_info *bdb = c->be->be_private;
int rc;
@ -342,7 +342,7 @@ bdb_cf_gen(ConfigArgs *c)
rc = 0;
switch( c->type ) {
case BDB_CHKPT:
if (bdb->bi_txn_cp ) {
if ( bdb->bi_txn_cp ) {
char buf[64];
struct berval bv;
bv.bv_len = sprintf( buf, "%d %d", bdb->bi_txn_cp_kbyte,
@ -363,8 +363,10 @@ bdb_cf_gen(ConfigArgs *c)
break;
case BDB_CONFIG:
if (( slapMode&SLAP_SERVER_MODE ) && !( bdb->bi_flags&BDB_IS_OPEN )
&& !bdb->bi_db_config ) {
if ( ( slapMode & SLAP_SERVER_MODE )
&& !( bdb->bi_flags & BDB_IS_OPEN )
&& !bdb->bi_db_config )
{
char buf[SLAP_TEXT_BUFLEN];
FILE *f = fopen( bdb->bi_db_config_path, "r" );
struct berval bv;
@ -442,7 +444,7 @@ bdb_cf_gen(ConfigArgs *c)
if ( bdb->bi_txn_cp_task ) {
struct re_s *re = bdb->bi_txn_cp_task;
bdb->bi_txn_cp_task = NULL;
if ( ldap_pvt_runqueue_isrunning( &slapd_rq, re ))
if ( ldap_pvt_runqueue_isrunning( &slapd_rq, re ) )
ldap_pvt_runqueue_stoptask( &slapd_rq, re );
ldap_pvt_runqueue_remove( &slapd_rq, re );
}

View File

@ -198,6 +198,8 @@ bdb_monitor_free(
return SLAP_CB_CONTINUE;
}
#define bdb_monitor_initialize BDB_SYMBOL(monitor_initialize)
/*
* call from within bdb_initialize()
*/

View File

@ -429,6 +429,12 @@ int bdb_modify_internal(
/*
* monitor.c
*/
#define bdb_monitor_db_init BDB_SYMBOL(monitor_db_init)
#define bdb_monitor_db_open BDB_SYMBOL(monitor_db_open)
#define bdb_monitor_db_close BDB_SYMBOL(monitor_db_close)
#define bdb_monitor_db_destroy BDB_SYMBOL(monitor_db_destroy)
int bdb_monitor_db_init( BackendDB *be );
int bdb_monitor_db_open( BackendDB *be );
int bdb_monitor_db_close( BackendDB *be );