commit 23d9b59b868e7f256668535adf9803facf75e538 (tree)
parent f991b9dc05706613839743f970a32d516085f182
Author: kcbanner <kcbanner@gmail.com>
Date: Sat, 1 Jul 2023 01:39:29 -0400
c: add getcontext
debug: make getContext public
Diffstat:
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/std/c.zig b/lib/std/c.zig
@@ -413,6 +413,8 @@ pub extern "c" fn timer_delete(timerid: c.timer_t) c_int;
pub extern "c" fn timer_settime(timerid: c.timer_t, flags: c_int, new_value: *const c.itimerspec, old_value: *c.itimerspec) c_int;
pub extern "c" fn timer_gettime(timerid: c.timer_t, flags: c_int, curr_value: *c.itimerspec) c_int;
+pub extern "c" fn getcontext(ucp: *std.os.ucontext_t) c_int;
+
pub const max_align_t = if (builtin.abi == .msvc)
f64
else if (builtin.target.isDarwin())
diff --git a/lib/std/debug.zig b/lib/std/debug.zig
@@ -420,7 +420,7 @@ pub fn writeStackTrace(
}
}
-inline fn getContext(context: *StackTraceContext) bool {
+pub inline fn getContext(context: *StackTraceContext) bool {
if (native_os == .windows) {
context.* = std.mem.zeroes(windows.CONTEXT);
windows.ntdll.RtlCaptureContext(context);