Skip to content

Commit

Permalink
Merge pull request #145 from fornwall/android-main-thread-name
Browse files Browse the repository at this point in the history
Name spawned threads
  • Loading branch information
rib authored Nov 20, 2023
2 parents bfd8bfd + eeeb802 commit 2deec16
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
5 changes: 5 additions & 0 deletions android-activity/src/game_activity/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 5 additions & 0 deletions android-activity/src/native_activity/glue.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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(|| {
Expand Down

0 comments on commit 2deec16

Please sign in to comment.