Commit 733f1c25bd
Changed files (7)
lib/std/zig/system.zig
@@ -468,9 +468,8 @@ pub const NativeTargetInfo = struct {
error.InvalidUtf8 => unreachable,
error.BadPathName => unreachable,
error.PipeBusy => unreachable,
- error.PermissionDenied => unreachable,
- error.FileBusy => unreachable,
- error.Locked => unreachable,
+ error.FileLocksNotSupported => unreachable,
+ error.WouldBlock => unreachable,
error.IsDir,
error.NotDir,
lib/std/child_process.zig
@@ -357,6 +357,7 @@ pub const ChildProcess = struct {
error.NoSpaceLeft => unreachable,
error.FileTooBig => unreachable,
error.DeviceBusy => unreachable,
+ error.FileLocksNotSupported => unreachable,
else => |e| return e,
}
else
lib/std/fs.zig
@@ -843,6 +843,7 @@ pub const Dir = struct {
error.IsDir => unreachable, // we're providing O_DIRECTORY
error.NoSpaceLeft => unreachable, // not providing O_CREAT
error.PathAlreadyExists => unreachable, // not providing O_CREAT
+ error.FileLocksNotSupported => unreachable, // locking folders is not supported
else => |e| return e,
};
return Dir{ .fd = fd };
lib/std/os.zig
@@ -819,26 +819,34 @@ pub const OpenError = error{
SystemFdQuotaExceeded,
NoDevice,
FileNotFound,
+
/// The path exceeded `MAX_PATH_BYTES` bytes.
NameTooLong,
+
/// Insufficient kernel memory was available, or
/// the named file is a FIFO and per-user hard limit on
/// memory allocation for pipes has been reached.
SystemResources,
+
/// The file is too large to be opened. This error is unreachable
/// for 64-bit targets, as well as when opening directories.
FileTooBig,
+
/// The path refers to directory but the `O_DIRECTORY` flag was not provided.
IsDir,
+
/// A new path cannot be created because the device has no room for the new file.
/// This error is only reachable when the `O_CREAT` flag is provided.
NoSpaceLeft,
+
/// A component used as a directory in the path was not, in fact, a directory, or
/// `O_DIRECTORY` was specified and the path was not a directory.
NotDir,
+
/// The path already exists and the `O_CREAT` and `O_EXCL` flags were provided.
PathAlreadyExists,
DeviceBusy,
+
/// The underlying filesystem does not support file locks
FileLocksNotSupported,
} || UnexpectedError;
src/error.cpp
@@ -85,7 +85,6 @@ const char *err_str(Error err) {
case ErrorInvalidOperatingSystemVersion: return "invalid operating system version";
case ErrorUnknownClangOption: return "unknown Clang option";
case ErrorNestedResponseFile: return "nested response file";
- case ErrorPermissionDenied: return "permission is denied";
case ErrorFileBusy: return "file is busy";
case ErrorLocked: return "file is locked by another process";
}
src/stage2.h
@@ -107,7 +107,6 @@ enum Error {
ErrorInvalidOperatingSystemVersion,
ErrorUnknownClangOption,
ErrorNestedResponseFile,
- ErrorPermissionDenied,
ErrorFileBusy,
ErrorLocked,
};
src-self-hosted/stage2.zig
@@ -115,7 +115,6 @@ const Error = extern enum {
InvalidOperatingSystemVersion,
UnknownClangOption,
NestedResponseFile,
- PermissionDenied,
FileBusy,
Locked,
};
@@ -849,9 +848,7 @@ export fn stage2_libc_parse(stage1_libc: *Stage2LibCInstallation, libc_file_z: [
error.NoDevice => return .NoDevice,
error.NotDir => return .NotDir,
error.DeviceBusy => return .DeviceBusy,
- error.PermissionDenied => return .PermissionDenied,
- error.FileBusy => return .FileBusy,
- error.Locked => return .Locked,
+ error.FileLocksNotSupported => unreachable,
};
stage1_libc.initFromStage2(libc);
return .None;