wallet: Close dbenv error file db.log

The error file db.log is opened by BerkeleyEnvironment instance and
should be closed after dbenv is closed.

Github-Pull: #15297
Rebased-From: 8602a1e
This commit is contained in:
João Barbosa 2019-01-31 00:04:51 +00:00
parent f20513bd71
commit 22cdb6cf59

View file

@ -126,11 +126,16 @@ void BerkeleyEnvironment::Close()
} }
} }
FILE* error_file = nullptr;
dbenv->get_errfile(&error_file);
int ret = dbenv->close(0); int ret = dbenv->close(0);
if (ret != 0) if (ret != 0)
LogPrintf("BerkeleyEnvironment::Close: Error %d closing database environment: %s\n", ret, DbEnv::strerror(ret)); LogPrintf("BerkeleyEnvironment::Close: Error %d closing database environment: %s\n", ret, DbEnv::strerror(ret));
if (!fMockDb) if (!fMockDb)
DbEnv((u_int32_t)0).remove(strPath.c_str(), 0); DbEnv((u_int32_t)0).remove(strPath.c_str(), 0);
if (error_file) fclose(error_file);
} }
void BerkeleyEnvironment::Reset() void BerkeleyEnvironment::Reset()