diff --git a/DevTools/UserspaceEmulator/Emulator.cpp b/DevTools/UserspaceEmulator/Emulator.cpp index 8a89dddba6..1ee5091af4 100644 --- a/DevTools/UserspaceEmulator/Emulator.cpp +++ b/DevTools/UserspaceEmulator/Emulator.cpp @@ -293,6 +293,8 @@ u32 Emulator::virt_syscall(u32 function, u32 arg1, u32 arg2, u32 arg3) return virt$gettid(); case SC_getpid: return virt$getpid(); + case SC_getsid: + return virt$getsid(arg1); case SC_pledge: return virt$pledge(arg1); case SC_unveil: @@ -1325,6 +1327,11 @@ int Emulator::virt$getcwd(FlatPtr buffer, size_t buffer_size) return rc; } +int Emulator::virt$getsid(pid_t pid) +{ + return syscall(SC_getsid, pid); +} + int Emulator::virt$access(FlatPtr path, size_t path_length, int type) { auto host_path = mmu().copy_buffer_from_vm(path, path_length); diff --git a/DevTools/UserspaceEmulator/Emulator.h b/DevTools/UserspaceEmulator/Emulator.h index 6cef885ba4..b597da05d1 100644 --- a/DevTools/UserspaceEmulator/Emulator.h +++ b/DevTools/UserspaceEmulator/Emulator.h @@ -144,6 +144,7 @@ private: int virt$ttyname(int fd, FlatPtr buffer, size_t buffer_size); int virt$getcwd(FlatPtr buffer, size_t buffer_size); int virt$waitid(FlatPtr); + int virt$getsid(pid_t); FlatPtr allocate_vm(size_t size, size_t alignment);