@@ -8,8 +8,8 @@ pub struct Handler {
88} 
99
1010impl  Handler  { 
11-     pub  unsafe  fn  new ( )  -> Handler  { 
12-         make_handler ( false ) 
11+     pub  unsafe  fn  new ( thread_name :   Option < Box < str > > )  -> Handler  { 
12+         make_handler ( false ,  thread_name ) 
1313    } 
1414
1515    fn  null ( )  -> Handler  { 
@@ -72,7 +72,6 @@ mod imp {
7272    use  crate :: sync:: OnceLock ; 
7373    use  crate :: sync:: atomic:: { Atomic ,  AtomicBool ,  AtomicPtr ,  AtomicUsize ,  Ordering } ; 
7474    use  crate :: sys:: pal:: unix:: os; 
75-     use  crate :: thread:: with_current_name; 
7675    use  crate :: { io,  mem,  panic,  ptr} ; 
7776
7877    // Signal handler for the SIGSEGV and SIGBUS handlers. We've got guard pages 
@@ -158,13 +157,12 @@ mod imp {
158157                if  !NEED_ALTSTACK . load ( Ordering :: Relaxed )  { 
159158                    // haven't set up our sigaltstack yet 
160159                    NEED_ALTSTACK . store ( true ,  Ordering :: Release ) ; 
161-                     let  handler = unsafe  {  make_handler ( true )  } ; 
160+                     let  handler = unsafe  {  make_handler ( true ,   None )  } ; 
162161                    MAIN_ALTSTACK . store ( handler. data ,  Ordering :: Relaxed ) ; 
163162                    mem:: forget ( handler) ; 
164163
165164                    if  let  Some ( guard_page_range)  = guard_page_range. take ( )  { 
166-                         let  thread_name = with_current_name ( |name| name. map ( Box :: from) ) ; 
167-                         set_current_info ( guard_page_range,  thread_name) ; 
165+                         set_current_info ( guard_page_range,  Some ( Box :: from ( "main" ) ) ) ; 
168166                    } 
169167                } 
170168
@@ -230,14 +228,13 @@ mod imp {
230228    /// # Safety 
231229     /// Mutates the alternate signal stack 
232230     #[ forbid( unsafe_op_in_unsafe_fn) ]  
233-     pub  unsafe  fn  make_handler ( main_thread :  bool )  -> Handler  { 
231+     pub  unsafe  fn  make_handler ( main_thread :  bool ,   thread_name :   Option < Box < str > > )  -> Handler  { 
234232        if  !NEED_ALTSTACK . load ( Ordering :: Acquire )  { 
235233            return  Handler :: null ( ) ; 
236234        } 
237235
238236        if  !main_thread { 
239237            if  let  Some ( guard_page_range)  = unsafe  {  current_guard ( )  }  { 
240-                 let  thread_name = with_current_name ( |name| name. map ( Box :: from) ) ; 
241238                set_current_info ( guard_page_range,  thread_name) ; 
242239            } 
243240        } 
@@ -634,7 +631,10 @@ mod imp {
634631
635632    pub  unsafe  fn  cleanup ( )  { } 
636633
637-     pub  unsafe  fn  make_handler ( _main_thread :  bool )  -> super :: Handler  { 
634+     pub  unsafe  fn  make_handler ( 
635+         _main_thread :  bool , 
636+         _thread_name :  Option < Box < str > > , 
637+     )  -> super :: Handler  { 
638638        super :: Handler :: null ( ) 
639639    } 
640640
@@ -717,7 +717,10 @@ mod imp {
717717
718718    pub  unsafe  fn  cleanup ( )  { } 
719719
720-     pub  unsafe  fn  make_handler ( main_thread :  bool )  -> super :: Handler  { 
720+     pub  unsafe  fn  make_handler ( 
721+         main_thread :  bool , 
722+         _thread_name :  Option < Box < str > > , 
723+     )  -> super :: Handler  { 
721724        if  !main_thread { 
722725            reserve_stack ( ) ; 
723726        } 
0 commit comments