From: Kurt Zeilenga Date: Fri, 28 Sep 2001 20:52:48 +0000 (+0000) Subject: Sync detection with use. Don't use DB_CDB_ALLDB. Causes hang. X-Git-Tag: LDBM_PRE_GIANT_RWLOCK~1038 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=ea4bf672cc44954e06984f1efd96a78bd3c4f857;p=openldap Sync detection with use. Don't use DB_CDB_ALLDB. Causes hang. --- diff --git a/build/openldap.m4 b/build/openldap.m4 index 9a4ca93c92..0f0bccf4dc 100644 --- a/build/openldap.m4 +++ b/build/openldap.m4 @@ -352,6 +352,7 @@ main() return rc; } +#if 0 #ifdef DB_CDB_ALLDB rc = env->set_flags( env, DB_CDB_ALLDB, 1 ); @@ -360,6 +361,7 @@ main() return rc; } #endif +#endif #if (DB_VERSION_MAJOR > 3) || (DB_VERSION_MINOR >= 1) rc = env->open( env, NULL, flags, 0 ); diff --git a/libraries/libldbm/ldbm.c b/libraries/libldbm/ldbm.c index f230d8e2e8..8ae5c0c910 100644 --- a/libraries/libldbm/ldbm.c +++ b/libraries/libldbm/ldbm.c @@ -224,15 +224,19 @@ DB_ENV *ldbm_initialize_env(const char *home, int dbcachesize, int *envdirok) int err; u_int32_t envFlags; - envFlags = + envFlags = DB_CREATE | #if defined( DB_PRIVATE ) /* comment out DB_PRIVATE setting to use */ DB_PRIVATE | /* db_stat to view cache behavior */ #endif -#if defined( HAVE_BERKELEY_DB_THREAD ) - DB_THREAD | + DB_USE_ENVIRON; + +#ifdef HAVE_BERKELEY_DB_THREAD + envFlags |= DB_THREAD | DB_INIT_CDB | DB_INIT_MPOOL; +#ifdef DB_MPOOL_PRIVATE + envFlags |= DB_MPOOL_PRIVATE; #endif - DB_CREATE; - +#endif + err = db_env_create( &env, 0 ); if ( err ) { @@ -251,7 +255,11 @@ DB_ENV *ldbm_initialize_env(const char *home, int dbcachesize, int *envdirok) if (dbcachesize) env->set_cachesize( env, 0, dbcachesize, 0 ); - envFlags |= DB_INIT_MPOOL | DB_INIT_CDB | DB_USE_ENVIRON; +#if 0 +#if defined( DB_CDB_ALLDB ) && defined( HAVE_BERKELEY_DB_THREAD ) + env->set_flags( env, DB_CDB_ALLDB, 1 ); +#endif +#endif #if DB_VERSION_MAJOR > 3 || DB_VERSION_MINOR > 0 err = env->open( env, home, envFlags, 0 );