diff --git a/BRANCH_TODO b/BRANCH_TODO deleted file mode 100644 index e43cb401c1..0000000000 --- a/BRANCH_TODO +++ /dev/null @@ -1,21 +0,0 @@ -* Threaded: finish linux impl (all tests passing) -* Threaded: finish macos impl -* Threaded: finish windows impl -* Threaded: glibc impl of netLookup - -* eliminate dependency on std.Thread (Mutex, Condition, maybe more) -* implement cancelRequest for non-linux posix -* finish converting all Threaded into directly calling system functions and handling EINTR -* audit the TODOs - -* move max_iovecs_len to std.Io -* address the cancelation race condition (signal received between checkCancel and syscall) -* update signal values to be an enum -* delete the deprecated fs.File functions -* move fs.File.Writer to Io -* add non-blocking flag to net and fs operations, handle EAGAIN -* finish moving std.fs to Io -* migrate child process into std.Io -* eliminate std.Io.poll (it should be replaced by "select" functionality) -* finish moving all of std.posix into Threaded -* TCP fastopen - sends initial payload along with connection. can be done for idempotent http requests diff --git a/lib/std/Io/Threaded.zig b/lib/std/Io/Threaded.zig index b8d05ea10c..0df6cdccff 100644 --- a/lib/std/Io/Threaded.zig +++ b/lib/std/Io/Threaded.zig @@ -133,7 +133,6 @@ fn worker(t: *Threaded) void { closure.start(closure); t.mutex.lock(); if (is_concurrent) { - // TODO also pop thread and join sometimes t.concurrent_count -= 1; } } @@ -1175,7 +1174,7 @@ fn dirCreateFilePosix( fl_flags &= ~@as(usize, 1 << @bitOffsetOf(posix.O, "NONBLOCK")); while (true) { try t.checkCancel(); - switch (posix.errno(posix.fcntl(fd, posix.F.SETFL, fl_flags))) { + switch (posix.errno(posix.system.fcntl(fd, posix.F.SETFL, fl_flags))) { .SUCCESS => break, .INTR => continue, else => |err| return posix.unexpectedErrno(err), @@ -1304,7 +1303,7 @@ fn dirOpenFile( fl_flags &= ~@as(usize, 1 << @bitOffsetOf(posix.O, "NONBLOCK")); while (true) { try t.checkCancel(); - switch (posix.errno(posix.fcntl(fd, posix.F.SETFL, fl_flags))) { + switch (posix.errno(posix.system.fcntl(fd, posix.F.SETFL, fl_flags))) { .SUCCESS => break, .INTR => continue, else => |err| return posix.unexpectedErrno(err), @@ -2263,7 +2262,6 @@ fn netSendOne( .WSAEDESTADDRREQ => unreachable, // A destination address is required. .WSAEFAULT => unreachable, // The lpBuffers, lpTo, lpOverlapped, lpNumberOfBytesSent, or lpCompletionRoutine parameters are not part of the user address space, or the lpTo parameter is too small. .WSAEHOSTUNREACH => return error.NetworkUnreachable, - // TODO: WSAEINPROGRESS, WSAEINTR .WSAEINVAL => unreachable, .WSAENETDOWN => return error.NetworkDown, .WSAENETRESET => return error.ConnectionResetByPeer, @@ -3186,11 +3184,11 @@ fn lookupDns( for (answers) |answer| { var it = HostName.DnsResponse.init(answer) catch { - // TODO accept a diagnostics struct and append warnings + // Here we could potentially add diagnostics to the results queue. continue; }; while (it.next() catch { - // TODO accept a diagnostics struct and append warnings + // Here we could potentially add diagnostics to the results queue. continue; }) |record| switch (record.rr) { std.posix.RR.A => { @@ -3239,7 +3237,7 @@ fn lookupHosts( error.Canceled => |e| return e, else => { - // TODO populate optional diagnostic struct + // Here we could add more detailed diagnostics to the results queue. return error.DetectingNetworkConfigurationFailed; }, }; @@ -3251,7 +3249,7 @@ fn lookupHosts( error.ReadFailed => switch (file_reader.err.?) { error.Canceled => |e| return e, else => { - // TODO populate optional diagnostic struct + // Here we could add more detailed diagnostics to the results queue. return error.DetectingNetworkConfigurationFailed; }, },