summaryrefslogtreecommitdiff
path: root/Kernel/Syscall.cpp
diff options
context:
space:
mode:
authorAndreas Kling <awesomekling@gmail.com>2019-11-17 20:01:03 +0100
committerAndreas Kling <awesomekling@gmail.com>2019-11-17 20:03:42 +0100
commit3da6d89d1f40d82fa0b6bdc3aec99a8919661797 (patch)
tree53c1c4bd330ce95950714556c88fdb5e2a7818f2 /Kernel/Syscall.cpp
parent3d558f47b04e80ffacc8bc7a91dadf5bcf0dd131 (diff)
downloadserenity-3da6d89d1f40d82fa0b6bdc3aec99a8919661797.zip
Kernel+LibC: Remove the isatty() syscall
This can be implemented entirely in userspace by calling tcgetattr(). To avoid screwing up the syscall indexes, this patch also adds a mechanism for removing a syscall without shifting the index of other syscalls. Note that ports will still have to be rebuilt after this change, as their LibC code will try to make the isatty() syscall on startup.
Diffstat (limited to 'Kernel/Syscall.cpp')
-rw-r--r--Kernel/Syscall.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/Kernel/Syscall.cpp b/Kernel/Syscall.cpp
index a83c093613..00a8034337 100644
--- a/Kernel/Syscall.cpp
+++ b/Kernel/Syscall.cpp
@@ -48,11 +48,13 @@ void initialize()
#pragma GCC diagnostic ignored "-Wcast-function-type"
typedef int (Process::*Handler)(u32, u32, u32);
+#define __ENUMERATE_REMOVED_SYSCALL(x) nullptr,
#define __ENUMERATE_SYSCALL(x) reinterpret_cast<Handler>(&Process::sys$##x),
static Handler s_syscall_table[] = {
ENUMERATE_SYSCALLS
};
#undef __ENUMERATE_SYSCALL
+#undef __ENUMERATE_REMOVED_SYSCALL
int handle(RegisterDump& regs, u32 function, u32 arg1, u32 arg2, u32 arg3)
{