Skip to content

Commit

Permalink
NativeBinaryLoader: moved binary loading to the extraction listener
Browse files Browse the repository at this point in the history
  • Loading branch information
pavly-gerges committed Jul 14, 2023
1 parent 2760608 commit 91085a9
Showing 1 changed file with 10 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,15 @@ private void loadBinary(final NativeDynamicLibrary library, final RetryCriteria
try {
System.load(library.getExtractedLibrary());
} catch (final UnsatisfiedLinkError error) {
error.printStackTrace();
switch (criteria) {
case RETRY_WITH_INCREMENTAL_EXTRACTION:
incrementalExtractBinary(library);
break;

default:
cleanExtractBinary(library);
break;
}
}
}

Expand Down Expand Up @@ -202,10 +210,10 @@ private void incrementalExtractBinary(NativeDynamicLibrary library) throws IOExc
private void cleanExtractBinary(NativeDynamicLibrary library) throws IOException {
libraryExtractor = initializeLibraryExtractor(library);
libraryExtractor.extract();
loadBinary(library, RetryCriteria.RETRY_WITH_CLEAN_EXTRACTION);
/* CLEAR RESOURCES AND RESET OBJECTS */
libraryExtractor.setExtractionListener(() -> {
try{
loadBinary(library, RetryCriteria.RETRY_WITH_CLEAN_EXTRACTION);
libraryExtractor.getFileLocator().close();
libraryExtractor.close();
libraryExtractor = null;
Expand Down

0 comments on commit 91085a9

Please sign in to comment.