From: Howard Chu Date: Mon, 29 Jul 2013 00:02:51 +0000 (-0700) Subject: Tweak mdb_envinfo numreaders X-Git-Tag: OPENLDAP_REL_ENG_2_4_36~31^2 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=acf20f77f34502e0513666cac46688156cb79f33;p=openldap Tweak mdb_envinfo numreaders Return the actual shared reader count when it exists, not just the current process env's reader count. --- diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c index 23f1ecd728..595cb65b23 100644 --- a/libraries/liblmdb/mdb.c +++ b/libraries/liblmdb/mdb.c @@ -7682,7 +7682,12 @@ mdb_env_info(MDB_env *env, MDB_envinfo *arg) arg->me_mapaddr = (env->me_flags & MDB_FIXEDMAP) ? env->me_map : 0; arg->me_mapsize = env->me_mapsize; arg->me_maxreaders = env->me_maxreaders; - arg->me_numreaders = env->me_numreaders; + + /* me_numreaders may be zero if this process never used any readers. Use + * the shared numreader count if it exists. + */ + arg->me_numreaders = env->me_txns ? env->me_txns->mti_numreaders : env->me_numreaders; + arg->me_last_pgno = env->me_metas[toggle]->mm_last_pg; arg->me_last_txnid = env->me_metas[toggle]->mm_txnid; return MDB_SUCCESS;