Skip to content

Commit

Permalink
Initialize native crash monitoring in a background thread
Browse files Browse the repository at this point in the history
  • Loading branch information
bidetofevil committed Mar 14, 2024
1 parent 8210d0d commit 6f7d42e
Showing 1 changed file with 11 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ import io.embrace.android.embracesdk.session.properties.EmbraceSessionProperties
import io.embrace.android.embracesdk.storage.NATIVE_CRASH_FILE_FOLDER
import io.embrace.android.embracesdk.storage.StorageService
import io.embrace.android.embracesdk.worker.BackgroundWorker
import io.embrace.android.embracesdk.worker.TaskPriority
import java.io.BufferedReader
import java.io.File
import java.io.FileInputStream
Expand Down Expand Up @@ -88,13 +89,15 @@ internal class EmbraceNdkService(
null
}
if (configService.autoDataCaptureBehavior.isNdkEnabled()) {
Systrace.traceSynchronous("init-ndk-service") {
processStateService.addListener(this)
if (appFramework == AppFramework.UNITY) {
unityCrashId = getEmbUuid()
ndkStartupWorker.submit(priority = TaskPriority.CRITICAL) {
Systrace.traceSynchronous("init-ndk-service") {
processStateService.addListener(this)
if (appFramework == AppFramework.UNITY) {
unityCrashId = getEmbUuid()
}
startNativeCrashMonitoring()
cleanOldCrashFiles()
}
startNdk()
cleanOldCrashFiles()
}
}
}
Expand Down Expand Up @@ -148,7 +151,7 @@ internal class EmbraceNdkService(
}
}

private fun startNdk() {
private fun startNativeCrashMonitoring() {
try {
if (sharedObjectLoader.loadEmbraceNative()) {
installSignals()
Expand All @@ -158,15 +161,9 @@ internal class EmbraceNdkService(
Runnable(::checkSignalHandlersOverwritten),
HANDLER_CHECK_DELAY_MS.toLong()
)
logger.logInfo("NDK library successfully loaded")
} else {
logger.logDeveloper(
"EmbraceNDKService",
"Failed to load embrace library - probable unsatisfied linkage."
)
}
} catch (ex: Exception) {
logger.logError("Failed to load NDK library", ex)
logger.logError("Failed to start native crash monitoring", ex)
}
}

Expand Down

0 comments on commit 6f7d42e

Please sign in to comment.