authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-05-01 20:23:54 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-05-01 20:23:54 -07:00
log6f1f461e2941d0e1114fdcbdeac5fa06d681dafa
tree059948f78201d68b9a84557c30b746f3c7c9b935
parent147b940681bf752282675ad61348c42f5aebe36d
signaturebadge-check Signed by SSH key SHA256:4hHJbtBRU58AYXwjL7fkz2fnQHdiye8x1QpTCQ0sHNw

add back this guard that was removed in bf867fae9d292da271537c7f9c7fcbc6848fb50a


1 files changed, 6 insertions(+), 1 deletions(-)

src/mod.zig+6-1
...@@ -25,6 +25,8 @@ pub const Backend = enum {...@@ -25,6 +25,8 @@ pub const Backend = enum {
25 otel,25 otel,
26};26};
2727
28threadlocal var started = false;
29
28pub fn init(args: @typeInfo(@TypeOf(impl.init)).@"fn".params[0].type.?) !void {30pub fn init(args: @typeInfo(@TypeOf(impl.init)).@"fn".params[0].type.?) !void {
29 try impl.init(args);31 try impl.init(args);
30}32}
...@@ -35,16 +37,18 @@ pub fn deinit() void {...@@ -35,16 +37,18 @@ pub fn deinit() void {
3537
36pub fn init_thread(args: @typeInfo(@TypeOf(impl.init_thread)).@"fn".params[0].type.?) !void {38pub fn init_thread(args: @typeInfo(@TypeOf(impl.init_thread)).@"fn".params[0].type.?) !void {
37 try impl.init_thread(args);39 try impl.init_thread(args);
40 started = true;
38}41}
3942
40pub fn deinit_thread() void {43pub fn deinit_thread() void {
41 impl.deinit_thread();44 impl.deinit_thread();
45 started = false;
42}46}
4347
44pub inline fn trace(src: std.builtin.SourceLocation, comptime fmt: []const u8, args: anytype) Ctx {48pub inline fn trace(src: std.builtin.SourceLocation, comptime fmt: []const u8, args: anytype) Ctx {
45 return .{49 return .{
46 .src = src,50 .src = src,
47 .data = impl.trace_begin(src, fmt, args),51 .data = if (!started) undefined else impl.trace_begin(src, fmt, args),
48 };52 };
49}53}
5054
...@@ -53,6 +57,7 @@ pub const Ctx = struct {...@@ -53,6 +57,7 @@ pub const Ctx = struct {
53 data: impl.Data,57 data: impl.Data,
5458
55 pub inline fn end(self: Ctx) void {59 pub inline fn end(self: Ctx) void {
60 if (!started) return;
56 impl.trace_end(self);61 impl.trace_end(self);
57 }62 }
58};63};