authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-11-21 12:05:29-08:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-11-21 19:54:41-08:00
logb052afd24bf42663ab937fab88eb072d3514519d
tree2f8b64de56ea27fad47bd21fe62fce6536accdc2
parentcf744aa182cf3a7c4738c43f5b1fcf6c280aa74f

std.Io.Threaded: import std.mem.Alignment


1 files changed, 13 insertions(+), 12 deletions(-)

lib/std/Io/Threaded.zig+13-12
......@@ -13,6 +13,7 @@ const net = std.Io.net;
1313const HostName = std.Io.net.HostName;
1414const IpAddress = std.Io.net.IpAddress;
1515const Allocator = std.mem.Allocator;
16const Alignment = std.mem.Alignment;
1617const assert = std.debug.assert;
1718const posix = std.posix;
1819
......@@ -399,7 +400,7 @@ const AsyncClosure = struct {
399400 func: *const fn (context: *anyopaque, result: *anyopaque) void,
400401 reset_event: ResetEvent,
401402 select_condition: ?*ResetEvent,
402 context_alignment: std.mem.Alignment,
403 context_alignment: Alignment,
403404 result_offset: usize,
404405 alloc_len: usize,
405406
......@@ -445,9 +446,9 @@ const AsyncClosure = struct {
445446 fn init(
446447 gpa: Allocator,
447448 result_len: usize,
448 result_alignment: std.mem.Alignment,
449 result_alignment: Alignment,
449450 context: []const u8,
450 context_alignment: std.mem.Alignment,
451 context_alignment: Alignment,
451452 func: *const fn (context: *const anyopaque, result: *anyopaque) void,
452453 ) Allocator.Error!*AsyncClosure {
453454 const max_context_misalignment = context_alignment.toByteUnits() -| @alignOf(AsyncClosure);
......@@ -492,9 +493,9 @@ const AsyncClosure = struct {
492493fn async(
493494 userdata: ?*anyopaque,
494495 result: []u8,
495 result_alignment: std.mem.Alignment,
496 result_alignment: Alignment,
496497 context: []const u8,
497 context_alignment: std.mem.Alignment,
498 context_alignment: Alignment,
498499 start: *const fn (context: *const anyopaque, result: *anyopaque) void,
499500) ?*Io.AnyFuture {
500501 const t: *Threaded = @ptrCast(@alignCast(userdata));
......@@ -544,9 +545,9 @@ fn async(
544545fn concurrent(
545546 userdata: ?*anyopaque,
546547 result_len: usize,
547 result_alignment: std.mem.Alignment,
548 result_alignment: Alignment,
548549 context: []const u8,
549 context_alignment: std.mem.Alignment,
550 context_alignment: Alignment,
550551 start: *const fn (context: *const anyopaque, result: *anyopaque) void,
551552) Io.ConcurrentError!*Io.AnyFuture {
552553 if (builtin.single_threaded) return error.ConcurrencyUnavailable;
......@@ -591,7 +592,7 @@ const GroupClosure = struct {
591592 /// Points to sibling `GroupClosure`. Used for walking the group to cancel all.
592593 node: std.SinglyLinkedList.Node,
593594 func: *const fn (*Io.Group, context: *anyopaque) void,
594 context_alignment: std.mem.Alignment,
595 context_alignment: Alignment,
595596 alloc_len: usize,
596597
597598 fn start(closure: *Closure) void {
......@@ -632,7 +633,7 @@ const GroupClosure = struct {
632633 t: *Threaded,
633634 group: *Io.Group,
634635 context: []const u8,
635 context_alignment: std.mem.Alignment,
636 context_alignment: Alignment,
636637 func: *const fn (*Io.Group, context: *const anyopaque) void,
637638 ) Allocator.Error!*GroupClosure {
638639 const max_context_misalignment = context_alignment.toByteUnits() -| @alignOf(GroupClosure);
......@@ -671,7 +672,7 @@ fn groupAsync(
671672 userdata: ?*anyopaque,
672673 group: *Io.Group,
673674 context: []const u8,
674 context_alignment: std.mem.Alignment,
675 context_alignment: Alignment,
675676 start: *const fn (*Io.Group, context: *const anyopaque) void,
676677) void {
677678 const t: *Threaded = @ptrCast(@alignCast(userdata));
......@@ -790,7 +791,7 @@ fn await(
790791 userdata: ?*anyopaque,
791792 any_future: *Io.AnyFuture,
792793 result: []u8,
793 result_alignment: std.mem.Alignment,
794 result_alignment: Alignment,
794795) void {
795796 _ = result_alignment;
796797 const t: *Threaded = @ptrCast(@alignCast(userdata));
......@@ -802,7 +803,7 @@ fn cancel(
802803 userdata: ?*anyopaque,
803804 any_future: *Io.AnyFuture,
804805 result: []u8,
805 result_alignment: std.mem.Alignment,
806 result_alignment: Alignment,
806807) void {
807808 _ = result_alignment;
808809 const t: *Threaded = @ptrCast(@alignCast(userdata));