Index: servers/slapd/back-bdb/init.c =================================================================== RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/back-bdb/init.c,v retrieving revision 1.293 retrieving revision 1.294 diff -u -r1.293 -r1.294 --- servers/slapd/back-bdb/init.c 27 Aug 2008 20:28:16 -0000 1.293 +++ servers/slapd/back-bdb/init.c 12 Sep 2008 07:53:40 -0000 1.294 @@ -640,6 +640,17 @@ { struct bdb_info *bdb = (struct bdb_info *) be->be_private; + /* stop and remove checkpoint task */ + if ( bdb->bi_txn_cp_task ) { + struct re_s *re = bdb->bi_txn_cp_task; + bdb->bi_txn_cp_task = NULL; + ldap_pvt_thread_mutex_lock( &slapd_rq.rq_mutex ); + if ( ldap_pvt_runqueue_isrunning( &slapd_rq, re ) ) + ldap_pvt_runqueue_stoptask( &slapd_rq, re ); + ldap_pvt_runqueue_remove( &slapd_rq, re ); + ldap_pvt_thread_mutex_unlock( &slapd_rq.rq_mutex ); + } + /* monitor handling */ (void)bdb_monitor_db_destroy( be );