mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-20 22:59:34 -05:00
ITS#9631 back-wt: closing cache db politely
This commit is contained in:
parent
f7d558a449
commit
c66c9f87eb
1 changed files with 15 additions and 10 deletions
|
|
@ -232,20 +232,25 @@ wt_db_close( BackendDB *be, ConfigReply *cr )
|
|||
struct wt_info *wi = (struct wt_info *) be->be_private;
|
||||
int rc;
|
||||
|
||||
if ( !wi->wi_conn ) {
|
||||
return -1;
|
||||
if ( wi->wi_cache ) {
|
||||
rc = wi->wi_cache->close(wi->wi_cache, NULL);
|
||||
if( rc ) {
|
||||
Debug( LDAP_DEBUG_ANY,
|
||||
"wt_db_close: cannot close cache database (%d).\n", rc );
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
rc = wi->wi_conn->close(wi->wi_conn, NULL);
|
||||
if( rc ) {
|
||||
int saved_errno = errno;
|
||||
Debug( LDAP_DEBUG_ANY,
|
||||
"wt_db_close: cannot close database (%d).\n", saved_errno );
|
||||
return -1;
|
||||
if ( wi->wi_conn ) {
|
||||
rc = wi->wi_conn->close(wi->wi_conn, NULL);
|
||||
if( rc ) {
|
||||
Debug( LDAP_DEBUG_ANY,
|
||||
"wt_db_close: cannot close database (%d).\n", rc );
|
||||
return -1;
|
||||
}
|
||||
wi->wi_flags &= ~WT_IS_OPEN;
|
||||
}
|
||||
|
||||
wi->wi_flags &= ~WT_IS_OPEN;
|
||||
|
||||
return LDAP_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue