Function spawnManager [src]

Prototype

pub fn spawnManager( wg: *WaitGroup, comptime func: anytype, args: anytype, ) void

Parameters

wg: *WaitGroup

Source

pub fn spawnManager( wg: *WaitGroup, comptime func: anytype, args: anytype, ) void { if (builtin.single_threaded) { @call(.auto, func, args); return; } const Manager = struct { fn run(wg_inner: *WaitGroup, args_inner: @TypeOf(args)) void { defer wg_inner.finish(); @call(.auto, func, args_inner); } }; wg.start(); const t = std.Thread.spawn(.{}, Manager.run, .{ wg, args }) catch return Manager.run(wg, args); t.detach(); }