diff --git a/mod.zig b/mod.zig index 241090d30dee9afd64b221011f88077e2fcef204..8fc47a83b94441a74ae86de81f8d7a8a7c0390ea 100644 --- a/mod.zig +++ b/mod.zig @@ -648,7 +648,13 @@ pub fn getppid() errno.Error!pid_t { // getpgrp // pid_t getpgrp(void); // asmlinkage long sys_getpgrp(void); -pub const getpgrp = @compileError("TODO: getpgrp"); +pub fn getpgrp() errno.Error!pid_t { + const r = syscall0(.getpgrp); + return switch (_errno(r)) { + .ok => @intCast(r), + _ => |c| errno.errorFromInt(@intFromEnum(c)), + }; +} // setsid // pid_t setsid(void); diff --git a/test.zig b/test.zig index 0c369600affca40c7e8ba09b5e7fb082c425ba1c..337de32f144694c955398fcb9ff93455539f1ce9 100644 --- a/test.zig +++ b/test.zig @@ -17,4 +17,5 @@ test { _ = &linux.geteuid; _ = &linux.getegid; _ = &linux.getppid; + _ = &linux.getpgrp; }