authorgravatar for kcbanner@gmail.comCasey Banner <kcbanner@gmail.com> 2023-07-01 01:39:29-04:00
committergravatar for kcbanner@gmail.comCasey Banner <kcbanner@gmail.com> 2023-07-20 22:58:14-04:00
log23d9b59b868e7f256668535adf9803facf75e538
treeb2f1de77236c0c2fccd9b7711d5726ade27ce6af
parentf991b9dc05706613839743f970a32d516085f182

c: add getcontext

debug: make getContext public

2 files changed, 3 insertions(+), 1 deletions(-)

lib/std/c.zig+2
...@@ -413,6 +413,8 @@ pub extern "c" fn timer_delete(timerid: c.timer_t) c_int;...@@ -413,6 +413,8 @@ pub extern "c" fn timer_delete(timerid: c.timer_t) c_int;
413pub extern "c" fn timer_settime(timerid: c.timer_t, flags: c_int, new_value: *const c.itimerspec, old_value: *c.itimerspec) c_int;413pub extern "c" fn timer_settime(timerid: c.timer_t, flags: c_int, new_value: *const c.itimerspec, old_value: *c.itimerspec) c_int;
414pub extern "c" fn timer_gettime(timerid: c.timer_t, flags: c_int, curr_value: *c.itimerspec) c_int;414pub extern "c" fn timer_gettime(timerid: c.timer_t, flags: c_int, curr_value: *c.itimerspec) c_int;
415415
416pub extern "c" fn getcontext(ucp: *std.os.ucontext_t) c_int;
417
416pub const max_align_t = if (builtin.abi == .msvc)418pub const max_align_t = if (builtin.abi == .msvc)
417 f64419 f64
418else if (builtin.target.isDarwin())420else if (builtin.target.isDarwin())
lib/std/debug.zig+1-1
...@@ -420,7 +420,7 @@ pub fn writeStackTrace(...@@ -420,7 +420,7 @@ pub fn writeStackTrace(
420 }420 }
421}421}
422422
423inline fn getContext(context: *StackTraceContext) bool {423pub inline fn getContext(context: *StackTraceContext) bool {
424 if (native_os == .windows) {424 if (native_os == .windows) {
425 context.* = std.mem.zeroes(windows.CONTEXT);425 context.* = std.mem.zeroes(windows.CONTEXT);
426 windows.ntdll.RtlCaptureContext(context);426 windows.ntdll.RtlCaptureContext(context);