aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/node/syscall.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/node/syscall.zig')
-rw-r--r--src/bun.js/node/syscall.zig7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/bun.js/node/syscall.zig b/src/bun.js/node/syscall.zig
index dd961b510..32788cedc 100644
--- a/src/bun.js/node/syscall.zig
+++ b/src/bun.js/node/syscall.zig
@@ -16,6 +16,8 @@ const C = @import("../../global.zig").C;
const linux = os.linux;
const Maybe = JSC.Maybe;
+const log = bun.Output.scoped(.SYS, false);
+
// On Linux AARCh64, zig is missing stat & lstat syscalls
const use_libc = (Environment.isLinux and Environment.isAarch64) or Environment.isMac;
pub const system = if (Environment.isLinux) linux else @import("io").darwin;
@@ -180,6 +182,7 @@ pub fn getErrno(rc: anytype) std.os.E {
pub fn open(file_path: [:0]const u8, flags: JSC.Node.Mode, perm: JSC.Node.Mode) Maybe(JSC.Node.FileDescriptor) {
while (true) {
const rc = Syscall.system.open(file_path, flags, perm);
+ log("open({s}): {d}", .{ file_path, rc });
return switch (Syscall.getErrno(rc)) {
.SUCCESS => .{ .result = @intCast(JSC.Node.FileDescriptor, rc) },
.INTR => continue,
@@ -288,16 +291,20 @@ pub fn read(fd: os.fd_t, buf: []u8) Maybe(usize) {
if (comptime Environment.isMac) {
const rc = system.@"read$NOCANCEL"(fd, buf.ptr, adjusted_len);
if (Maybe(usize).errnoSys(rc, .read)) |err| {
+ log("read error: {d} ({d} bytes, {d} fd)", .{ err.err.errno, buf.len, fd });
return err;
}
+ log("read: {d} bytes, {d} fd", .{ rc, fd });
return Maybe(usize){ .result = @intCast(usize, rc) };
} else {
while (true) {
const rc = sys.read(fd, buf.ptr, adjusted_len);
if (Maybe(usize).errnoSys(rc, .read)) |err| {
if (err.getErrno() == .INTR) continue;
+ log("read error: {d} ({d} bytes, {d} fd)", .{ err.err.errno, buf.len, fd });
return err;
}
+ log("read: {d} bytes, {d} fd", .{ rc, fd });
return Maybe(usize){ .result = @intCast(usize, rc) };
}
}