Commit 34720da3d0
lib/std/net/test.zig
@@ -258,6 +258,15 @@ test "listen on a unix socket, send bytes, receive bytes" {
if (builtin.single_threaded) return error.SkipZigTest;
if (!net.has_unix_sockets) return error.SkipZigTest;
+ if (std.builtin.os.tag == .windows) {
+ _ = try std.os.windows.WSAStartup(2, 2);
+ }
+ defer {
+ if (std.builtin.os.tag == .windows) {
+ std.os.windows.WSACleanup() catch unreachable;
+ }
+ }
+
var server = net.StreamServer.init(.{});
defer server.deinit();
lib/std/net.zig
@@ -12,7 +12,11 @@ const os = std.os;
const fs = std.fs;
const io = std.io;
-pub const has_unix_sockets = @hasDecl(os, "sockaddr_un");
+// Windows 10 added support for unix sockets in build 17063, redstone 4 is the
+// first release to support them.
+pub const has_unix_sockets = @hasDecl(os, "sockaddr_un") and
+ (builtin.os.tag != .windows or
+ std.Target.current.os.version_range.windows.isAtLeast(.win10_rs4) orelse false);
pub const Address = extern union {
any: os.sockaddr,