Author: nhosoi
Update of /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv16176
Modified Files:
proto-back-ldbm.h dblayer.c perfctrs.c
Log Message:
Resolves: #241089
Summary: reset db statistics between restarts
Description: cleaning up the db stats when the server is shutdown
Index: proto-back-ldbm.h
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm/proto-back-ldbm.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- proto-back-ldbm.h 7 Sep 2007 19:08:45 -0000 1.12
+++ proto-back-ldbm.h 25 Sep 2007 22:03:19 -0000 1.13
@@ -382,7 +382,7 @@
*/
void perfctrs_wait(size_t milliseconds,perfctrs_private *priv,DB_ENV *db_env);
void perfctrs_init(struct ldbminfo *li,perfctrs_private **priv);
-void perfctrs_terminate(perfctrs_private **priv);
+void perfctrs_terminate(perfctrs_private **priv, DB_ENV *db_env);
void perfctrs_as_entry( Slapi_Entry *e, perfctrs_private *priv, DB_ENV *db_env );
/*
Index: dblayer.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm/dblayer.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- dblayer.c 7 Sep 2007 19:08:45 -0000 1.20
+++ dblayer.c 25 Sep 2007 22:03:19 -0000 1.21
@@ -2481,7 +2481,7 @@
/* Shutdown the performance counter stuff */
if (DBLAYER_NORMAL_MODE & dbmode) {
if (priv->perf_private) {
- perfctrs_terminate(&priv->perf_private);
+ perfctrs_terminate(&priv->perf_private,
priv->dblayer_env->dblayer_DB_ENV);
}
}
Index: perfctrs.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm/perfctrs.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- perfctrs.c 8 Aug 2007 14:04:45 -0000 1.7
+++ perfctrs.c 25 Sep 2007 22:03:19 -0000 1.8
@@ -219,8 +219,21 @@
}
/* Terminate perf ctrs */
-void perfctrs_terminate(perfctrs_private **priv)
+void perfctrs_terminate(perfctrs_private **priv, DB_ENV *db_env)
{
+ DB_MPOOL_STAT *mpstat = NULL;
+ DB_TXN_STAT *txnstat = NULL;
+ DB_LOG_STAT *logstat = NULL;
+ DB_LOCK_STATi *lockstat = NULL;
+
+ MEMP_STAT(db_env, &mpstat, NULL, DB_STAT_CLEAR, malloc);
+ slapi_ch_free((void**)&mpstat);
+ TXN_STAT(db_env, &txnstat, DB_STAT_CLEAR, malloc);
+ slapi_ch_free((void**)&txnstat);
+ LOG_STAT(db_env, &logstat, DB_STAT_CLEAR, malloc);
+ slapi_ch_free((void**)&logstat);
+ LOCK_STAT(db_env, &lockstat, DB_STAT_CLEAR, malloc);
+ slapi_ch_free((void**)&lockstat);
#if defined(_WIN32)
if (NULL != (*priv)->memory) {
UnmapViewOfFile((*priv)->memory);