Commit 92ec24f77c

Isaac Freund <ifreund@ifreund.xyz>
2020-11-30 18:49:41
std/os: remove unneeded error from accept errorset
POSIX compliant fnctl cannot return EPERM when getting/setting the given flags. See the specification here: https://pubs.opengroup.org/onlinepubs/9699919799/functions/fcntl.html
1 parent 21565ca
Changed files (2)
lib/std/net.zig
@@ -1661,10 +1661,6 @@ pub const StreamServer = struct {
         /// Firewall rules forbid connection.
         BlockedByFirewall,
 
-        /// Permission to create a socket of the specified type and/or
-        /// protocol is denied.
-        PermissionDenied,
-
         FileDescriptorNotASocket,
 
         ConnectionResetByPeer,
lib/std/os.zig
@@ -2942,10 +2942,6 @@ pub const AcceptError = error{
     /// and accepting from the socket would block.
     WouldBlock,
 
-    /// Permission to create a socket of the specified type and/or
-    /// protocol is denied.
-    PermissionDenied,
-
     /// An incoming connection was indicated, but was subsequently terminated by the
     /// remote peer prior to accepting the call.
     ConnectionResetByPeer,
@@ -4130,12 +4126,14 @@ fn setSockFlags(sock: socket_t, flags: u32) !void {
             var fd_flags = fcntl(sock, F_GETFD, 0) catch |err| switch (err) {
                 error.FileBusy => unreachable,
                 error.Locked => unreachable,
+                error.PermissionDenied => unreachable,
                 else => |e| return e,
             };
             fd_flags |= FD_CLOEXEC;
             _ = fcntl(sock, F_SETFD, fd_flags) catch |err| switch (err) {
                 error.FileBusy => unreachable,
                 error.Locked => unreachable,
+                error.PermissionDenied => unreachable,
                 else => |e| return e,
             };
         }
@@ -4156,12 +4154,14 @@ fn setSockFlags(sock: socket_t, flags: u32) !void {
             var fl_flags = fcntl(sock, F_GETFL, 0) catch |err| switch (err) {
                 error.FileBusy => unreachable,
                 error.Locked => unreachable,
+                error.PermissionDenied => unreachable,
                 else => |e| return e,
             };
             fl_flags |= O_NONBLOCK;
             _ = fcntl(sock, F_SETFL, fl_flags) catch |err| switch (err) {
                 error.FileBusy => unreachable,
                 error.Locked => unreachable,
+                error.PermissionDenied => unreachable,
                 else => |e| return e,
             };
         }