]> git.sur5r.net Git - openldap/blob - servers/slapd/back-bdb2/close.c
Introduction of a new Berkeley DB version 2 (!) specific backend.
[openldap] / servers / slapd / back-bdb2 / close.c
1 /* close.c - close bdb2 backend */
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( Backend *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         Debug( LDAP_DEBUG_TRACE, "bdb2 backend syncing\n", 0, 0, 0 );
21         bdb2i_cache_flush_all( be );
22         Debug( LDAP_DEBUG_TRACE, "bdb2 backend done syncing\n", 0, 0, 0 );
23
24         return 0;
25 }
26
27
28 int
29 bdb2_back_db_close( Backend *be )
30 {
31         struct timeval  time1, time2;
32         char   *elapsed_time;
33         int    ret;
34
35         gettimeofday( &time1, NULL );
36
37         ret = bdb2i_back_db_close_internal( be );
38
39         if ( bdb2i_do_timing ) {
40
41                 gettimeofday( &time2, NULL);
42                 elapsed_time = bdb2i_elapsed( time1, time2 );
43                 Debug( LDAP_DEBUG_ANY, "CLOSE elapsed=%s\n",
44                                 elapsed_time, 0, 0 );
45                 free( elapsed_time );
46
47         }
48
49         return( ret );
50 }
51
52