@@ -845,21 +845,24 @@ extern "C" fn ANativeActivity_onCreate(
845845 File :: from_raw_fd ( logpipe[ 0 ] )
846846 } ;
847847
848- std:: thread:: spawn ( move || {
849- let tag = CStr :: from_bytes_with_nul ( b"RustStdoutStderr\0 " ) . unwrap ( ) ;
850- let mut reader = BufReader :: new ( file) ;
851- let mut buffer = String :: new ( ) ;
852- loop {
853- buffer. clear ( ) ;
854- if let Ok ( len) = reader. read_line ( & mut buffer) {
855- if len == 0 {
856- break ;
857- } else if let Ok ( msg) = CString :: new ( buffer. clone ( ) ) {
858- android_log ( Level :: Info , tag, & msg) ;
848+ std:: thread:: Builder :: new ( )
849+ . name ( "android-stdio" . to_string ( ) )
850+ . spawn ( move || {
851+ let tag = CStr :: from_bytes_with_nul ( b"RustStdoutStderr\0 " ) . unwrap ( ) ;
852+ let mut reader = BufReader :: new ( file) ;
853+ let mut buffer = String :: new ( ) ;
854+ loop {
855+ buffer. clear ( ) ;
856+ if let Ok ( len) = reader. read_line ( & mut buffer) {
857+ if len == 0 {
858+ break ;
859+ } else if let Ok ( msg) = CString :: new ( buffer. clone ( ) ) {
860+ android_log ( Level :: Info , tag, & msg) ;
861+ }
859862 }
860863 }
861- }
862- } ) ;
864+ } )
865+ . unwrap ( ) ;
863866
864867 log:: trace!(
865868 "Creating: {:p}, saved_state = {:p}, save_state_size = {}" ,
@@ -899,6 +902,11 @@ extern "C" fn ANativeActivity_onCreate(
899902 rust_glue. notify_main_thread_running ( ) ;
900903
901904 unsafe {
905+ // Name thread - this needs to happen here after attaching to a JVM thread,
906+ // since that changes the thread name to something like "Thread-2".
907+ let thread_name = CStr :: from_bytes_with_nul ( b"android-main\0 " ) . unwrap ( ) ;
908+ libc:: pthread_setname_np ( libc:: pthread_self ( ) , thread_name. as_ptr ( ) ) ;
909+
902910 // We want to specifically catch any panic from the application's android_main
903911 // so we can finish + destroy the Activity gracefully via the JVM
904912 catch_unwind ( || {
0 commit comments