diff --git a/android-activity/src/game_activity/mod.rs b/android-activity/src/game_activity/mod.rs index 1414766..5fc0a99 100644 --- a/android-activity/src/game_activity/mod.rs +++ b/android-activity/src/game_activity/mod.rs @@ -925,6 +925,11 @@ pub unsafe extern "C" fn _rust_glue_entry(native_app: *mut ffi::android_app) { }; unsafe { + // Name thread - this needs to happen here after attaching to a JVM thread, + // since that changes the thread name to something like "Thread-2". + let thread_name = std::ffi::CStr::from_bytes_with_nul(b"android_main\0").unwrap(); + libc::pthread_setname_np(libc::pthread_self(), thread_name.as_ptr()); + let app = AndroidApp::from_ptr(NonNull::new(native_app).unwrap(), jvm.clone()); // We want to specifically catch any panic from the application's android_main diff --git a/android-activity/src/native_activity/glue.rs b/android-activity/src/native_activity/glue.rs index 30f4843..2838d6a 100644 --- a/android-activity/src/native_activity/glue.rs +++ b/android-activity/src/native_activity/glue.rs @@ -868,6 +868,11 @@ extern "C" fn ANativeActivity_onCreate( rust_glue.notify_main_thread_running(); unsafe { + // Name thread - this needs to happen here after attaching to a JVM thread, + // since that changes the thread name to something like "Thread-2". + let thread_name = std::ffi::CStr::from_bytes_with_nul(b"android_main\0").unwrap(); + libc::pthread_setname_np(libc::pthread_self(), thread_name.as_ptr()); + // We want to specifically catch any panic from the application's android_main // so we can finish + destroy the Activity gracefully via the JVM catch_unwind(|| {