]> git.sur5r.net Git - openldap/blob - servers/slapd/back-bdb2/close.c
Server timing as a private feature of the bdb2 backend.
[openldap] / servers / slapd / back-bdb2 / close.c
1 /* close.c - close bdb2 backend database */
2
3 #include "portable.h"
4
5 #include <stdio.h>
6
7 #include <ac/socket.h>
8
9 #include "slap.h"
10 #include "back-bdb2.h"
11
12 static int
13 bdb2i_back_db_close_internal( BackendDB *be )
14 {
15         Debug( LDAP_DEBUG_TRACE, "bdb2 backend saving nextid\n", 0, 0, 0 );
16         if ( bdb2i_next_id_save( be ) < 0 ) {
17                 Debug( LDAP_DEBUG_ANY, "bdb2 backend nextid save failed!\n", 0, 0, 0 );
18         }
19
20         /*  close all DB files  */
21         Debug( LDAP_DEBUG_TRACE, "bdb2 backend closing DB files\n", 0, 0, 0 );
22         bdb2i_txn_close_files( be );
23         Debug( LDAP_DEBUG_TRACE, "bdb2 backend done closing DB files\n", 0, 0, 0 );
24
25         return 0;
26 }
27
28
29 int
30 bdb2_back_db_close( BackendDB *be )
31 {
32         struct timeval  time1;
33         int             ret;
34
35         bdb2i_start_timing( be->be_private, &time1 );
36
37         ret = bdb2i_back_db_close_internal( be );
38
39         bdb2i_stop_timing( be->be_private, time1, "CLOSE", NULL, NULL );
40
41         return( ret );
42 }
43
44