File tree Expand file tree Collapse file tree 2 files changed +3
-0
lines changed Expand file tree Collapse file tree 2 files changed +3
-0
lines changed Original file line number Diff line number Diff line change 118118#![ feature( raw_ref_op) ]
119119#![ feature( rustc_attrs) ]
120120#![ feature( receiver_trait) ]
121+ #![ feature( renamed_spin_loop) ]
121122#![ feature( min_specialization) ]
122123#![ feature( slice_ptr_get) ]
123124#![ feature( slice_ptr_len) ]
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ use core::cmp::Ordering;
1010use core:: convert:: { From , TryFrom } ;
1111use core:: fmt;
1212use core:: hash:: { Hash , Hasher } ;
13+ use core:: hint;
1314use core:: intrinsics:: abort;
1415use core:: iter;
1516use core:: marker:: { PhantomData , Unpin , Unsize } ;
@@ -764,6 +765,7 @@ impl<T: ?Sized> Arc<T> {
764765 loop {
765766 // check if the weak counter is currently "locked"; if so, spin.
766767 if cur == usize:: MAX {
768+ hint:: spin_loop ( ) ;
767769 cur = this. inner ( ) . weak . load ( Relaxed ) ;
768770 continue ;
769771 }
You can’t perform that action at this time.
0 commit comments