]> git.proxmox.com Git - rustc.git/blobdiff - library/backtrace/src/backtrace/miri.rs
New upstream version 1.65.0+dfsg1
[rustc.git] / library / backtrace / src / backtrace / miri.rs
index 9a5f65b806a7c9698ffe10ef85ba7c1b00a131e5..f8c4964284e8f49649cc73bccb1921a6c9a52477 100644 (file)
@@ -91,7 +91,7 @@ pub fn resolve_addr(ptr: *mut c_void) -> Frame {
     }
 }
 
-pub unsafe fn trace_unsynchronized<F: FnMut(&super::Frame) -> bool>(mut cb: F) {
+unsafe fn trace_unsynchronized<F: FnMut(&super::Frame) -> bool>(mut cb: F) {
     let len = miri_backtrace_size(0);
 
     let mut frames = Vec::with_capacity(len);
@@ -102,6 +102,8 @@ pub unsafe fn trace_unsynchronized<F: FnMut(&super::Frame) -> bool>(mut cb: F) {
 
     for ptr in frames.iter() {
         let frame = resolve_addr(*ptr as *mut c_void);
-        cb(&super::Frame { inner: frame });
+        if !cb(&super::Frame { inner: frame }) {
+            return;
+        }
     }
 }