mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
Lock databases during backup export.
This commit is contained in:
parent
b77382f99c
commit
cb4b44b8f4
|
@ -188,16 +188,22 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
backupDirPath:backupDirPath]) {
|
||||
return;
|
||||
}
|
||||
if (![self copyDirectory:OWSFileSystem.appDocumentDirectoryPath
|
||||
dstDirName:@"appDocumentDirectoryPath"
|
||||
backupDirPath:backupDirPath]) {
|
||||
return;
|
||||
}
|
||||
if (![self copyDirectory:OWSFileSystem.appSharedDataDirectoryPath
|
||||
dstDirName:@"appSharedDataDirectoryPath"
|
||||
backupDirPath:backupDirPath]) {
|
||||
return;
|
||||
}
|
||||
// Use a read/write transaction to acquire a file lock on the database files.
|
||||
//
|
||||
// TODO: If we use multiple database files, lock them too.
|
||||
[TSStorageManager.sharedManager.newDatabaseConnection
|
||||
readWriteWithBlock:^(YapDatabaseReadWriteTransaction *_Nonnull transaction) {
|
||||
if (![self copyDirectory:OWSFileSystem.appDocumentDirectoryPath
|
||||
dstDirName:@"appDocumentDirectoryPath"
|
||||
backupDirPath:backupDirPath]) {
|
||||
return;
|
||||
}
|
||||
if (![self copyDirectory:OWSFileSystem.appSharedDataDirectoryPath
|
||||
dstDirName:@"appSharedDataDirectoryPath"
|
||||
backupDirPath:backupDirPath]) {
|
||||
return;
|
||||
}
|
||||
}];
|
||||
if (![self zipDirectory:backupDirPath dstFilePath:backupZipPath]) {
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue