Merge pull request #5905 from APriestman/6324_removeLocking2

6324 Remove locking around adding image.
This commit is contained in:
Richard Cordovano 2020-05-20 15:40:57 -04:00 committed by GitHub
commit bb764aa5e1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 35 additions and 53 deletions

View File

@ -147,7 +147,6 @@ final class AddRawImageTask implements Runnable {
} }
imageFilePaths.add(imageFilePath); imageFilePaths.add(imageFilePath);
try { try {
caseDatabase.acquireSingleUserCaseWriteLock();
/* /*
* Get Image that will be added to case * Get Image that will be added to case
*/ */
@ -187,9 +186,6 @@ final class AddRawImageTask implements Runnable {
errorMessages.add(errorMessage); errorMessages.add(errorMessage);
logger.log(Level.SEVERE, errorMessage, ex); logger.log(Level.SEVERE, errorMessage, ex);
criticalErrorOccurred = true; criticalErrorOccurred = true;
} finally { }
caseDatabase.releaseSingleUserCaseWriteLock();
}
} }
} }

View File

@ -116,8 +116,6 @@ class AddMultipleImagesTask implements Runnable {
* Try to add the input image files as images. * Try to add the input image files as images.
*/ */
List<String> corruptedImageFilePaths = new ArrayList<>(); List<String> corruptedImageFilePaths = new ArrayList<>();
try {
currentCase.getSleuthkitCase().acquireSingleUserCaseWriteLock();
progressMonitor.setIndeterminate(true); progressMonitor.setIndeterminate(true);
for (String imageFilePath : imageFilePaths) { for (String imageFilePath : imageFilePaths) {
synchronized (tskAddImageProcessLock) { synchronized (tskAddImageProcessLock) {
@ -138,9 +136,6 @@ class AddMultipleImagesTask implements Runnable {
} }
} }
} }
} finally {
currentCase.getSleuthkitCase().releaseSingleUserCaseWriteLock();
}
/* /*
* Try to add any input image files that did not have file systems as a * Try to add any input image files that did not have file systems as a
@ -153,8 +148,6 @@ class AddMultipleImagesTask implements Runnable {
try { try {
progressMonitor.setProgressText(Bundle.AddMultipleImagesTask_addingFileAsLogicalFile(corruptedImageFilePaths.toString())); progressMonitor.setProgressText(Bundle.AddMultipleImagesTask_addingFileAsLogicalFile(corruptedImageFilePaths.toString()));
caseDatabase.acquireSingleUserCaseWriteLock();
Image dataSource = caseDatabase.addImageInfo(0, corruptedImageFilePaths, timeZone); Image dataSource = caseDatabase.addImageInfo(0, corruptedImageFilePaths, timeZone);
newDataSources.add(dataSource); newDataSources.add(dataSource);
List<TskFileRange> fileRanges = new ArrayList<>(); List<TskFileRange> fileRanges = new ArrayList<>();
@ -177,8 +170,6 @@ class AddMultipleImagesTask implements Runnable {
} catch (TskCoreException ex) { } catch (TskCoreException ex) {
errorMessages.add(Bundle.AddMultipleImagesTask_errorAddingImgWithoutFileSystem(deviceId, ex.getLocalizedMessage())); errorMessages.add(Bundle.AddMultipleImagesTask_errorAddingImgWithoutFileSystem(deviceId, ex.getLocalizedMessage()));
criticalErrorOccurred = true; criticalErrorOccurred = true;
} finally {
caseDatabase.releaseSingleUserCaseWriteLock();
} }
} }

View File

@ -146,8 +146,7 @@ final class AddMemoryImageTask implements Runnable {
progressMonitor.setProgressText(Bundle.AddMemoryImageTask_progressMessage_addingImageFile( memoryImagePath)); progressMonitor.setProgressText(Bundle.AddMemoryImageTask_progressMessage_addingImageFile( memoryImagePath));
SleuthkitCase caseDatabase = Case.getCurrentCaseThrows().getSleuthkitCase(); SleuthkitCase caseDatabase = Case.getCurrentCaseThrows().getSleuthkitCase();
caseDatabase.acquireSingleUserCaseWriteLock();
try {
/* /*
* Verify the memory image file exists. * Verify the memory image file exists.
*/ */
@ -166,10 +165,6 @@ final class AddMemoryImageTask implements Runnable {
*/ */
Image dataSource = caseDatabase.addImageInfo(0, new ArrayList<>(Arrays.asList(memoryImagePath)), timeZone); Image dataSource = caseDatabase.addImageInfo(0, new ArrayList<>(Arrays.asList(memoryImagePath)), timeZone);
return dataSource; return dataSource;
} finally {
caseDatabase.releaseSingleUserCaseWriteLock();
}
} }
/** /**