diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/resources.zig | 22 | ||||
-rw-r--r-- | src/lib/syscall.zig | 6 |
2 files changed, 6 insertions, 22 deletions
diff --git a/src/lib/resources.zig b/src/lib/resources.zig index 2d2e871..315fe57 100644 --- a/src/lib/resources.zig +++ b/src/lib/resources.zig @@ -52,12 +52,6 @@ const iofs = struct { }; const processfs = struct { - const self = struct { - fn threadId(_: u16, thread_id: usize, _: usize) callconv(.C) Result(usize) { - return Result(usize).fromAnyTypeOrError(thread_id); - } - }; - const CreationContext = struct { rd: vfs.ResourceDescriptor, buffer: std.ArrayListAligned(u8, paging.page_size), @@ -202,7 +196,6 @@ pub fn provideBuiltin(allocator: std.mem.Allocator) !void { try addDir("/io"); try addDir("/userinit"); try addDir("/process"); - try addDir("/process/self"); try provideConsole(); try provideUserinit(allocator); @@ -257,21 +250,6 @@ fn provideProcess() !void { }, 0, .{ .reclaimable = false, }); - - try provideProcessSelf(); -} - -fn provideProcessSelf() !void { - try vfs.provideResource("/process/self/thread_id", .{ - .tag = .hook, - .data = .{ - .hook = .{ - .callback = processfs.self.threadId, - }, - }, - }, 0, .{ - .reclaimable = false, - }); } fn addFile(path: []const u8, file: File) !void { diff --git a/src/lib/syscall.zig b/src/lib/syscall.zig index 9f88aea..01cd79c 100644 --- a/src/lib/syscall.zig +++ b/src/lib/syscall.zig @@ -36,6 +36,7 @@ pub fn handler(proc: *process.Info, trap_frame: *trap.Frame) !void { 100011 => ret(null, trap_frame, list(proc, trap_frame)), 100012 => ret(null, trap_frame, terminate(proc)), 100013 => ret(null, trap_frame, processId(proc)), + 100014 => ret(null, trap_frame, threadId(proc)), else => return HandleError.UnknownSyscall, } } @@ -315,3 +316,8 @@ fn terminate(proc: *process.Info) void { fn processId(proc: *process.Info) usize { return proc.id; } + +// threadId() usize +fn threadId(proc: *process.Info) usize { + return proc.thread_id; +} |