diff --git a/DevTools/UserspaceEmulator/Emulator.cpp b/DevTools/UserspaceEmulator/Emulator.cpp index 3933cdee65..9b72aa5503 100644 --- a/DevTools/UserspaceEmulator/Emulator.cpp +++ b/DevTools/UserspaceEmulator/Emulator.cpp @@ -250,6 +250,8 @@ u32 Emulator::virt_syscall(u32 function, u32 arg1, u32 arg2, u32 arg3) dbgprintf("Syscall: %s (%x)\n", Syscall::to_string((Syscall::Function)function), function); #endif switch (function) { + case SC_getpgrp: + return virt$getpgrp(); case SC_execve: return virt$execve(arg1); case SC_sleep: @@ -1234,4 +1236,9 @@ void Emulator::setup_signal_trampoline() mmu().add_region(move(trampoline_region)); } +int Emulator::virt$getpgrp() +{ + return syscall(SC_getpgrp); +} + } diff --git a/DevTools/UserspaceEmulator/Emulator.h b/DevTools/UserspaceEmulator/Emulator.h index 3a8ad14600..4158a87c4f 100644 --- a/DevTools/UserspaceEmulator/Emulator.h +++ b/DevTools/UserspaceEmulator/Emulator.h @@ -136,6 +136,7 @@ private: void virt$exit(int); ssize_t virt$getrandom(FlatPtr buffer, size_t buffer_size, unsigned int flags); int virt$sleep(unsigned); + int virt$getpgrp(); FlatPtr allocate_vm(size_t size, size_t alignment);