close method
Implementation
@override
Future<void> close() {
final result = _pending.then((_) async {
if (_closed) return;
_closed = true;
try {
final walLock = _walLock;
if (walLock != null) {
await _shm!.unlock(walLock, walLock + 1);
}
await _shm?.close();
await _file.unlock(SqliteLock.sharedFirst, SqliteLock.sharedFirst + 1);
} finally {
await _file.close();
}
});
_pending = result.then<void>((_) {}, onError: (Object _, StackTrace __) {});
return result;
}