From 985ba2d6fbc11f166abcc27030b6f48f0220d288 Mon Sep 17 00:00:00 2001 From: DH Date: Wed, 12 Jul 2023 04:20:28 +0300 Subject: [PATCH] [orbis-kernel] Stub kevent --- orbis-kernel/src/sys/sys_event.cpp | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/orbis-kernel/src/sys/sys_event.cpp b/orbis-kernel/src/sys/sys_event.cpp index a2fb79252..62e6858c2 100644 --- a/orbis-kernel/src/sys/sys_event.cpp +++ b/orbis-kernel/src/sys/sys_event.cpp @@ -1,10 +1,26 @@ #include "sys/sysproto.hpp" -orbis::SysResult orbis::sys_kqueue(Thread *thread) { return {}; } +#include "thread/Process.hpp" +#include "utils/Logs.hpp" -orbis::SysResult orbis::sys_kevent(Thread *thread, sint fd, - ptr changelist, sint nchanges, - ptr eventlist, sint nevents, - ptr timeout) { +struct KQueue : orbis::RcBase {}; + +orbis::SysResult orbis::sys_kqueue(Thread *thread) { + ORBIS_LOG_TODO(__FUNCTION__); + auto queue = knew(); + if (queue == nullptr) { + return ErrorCode::NOMEM; + } + + thread->retval[0] = thread->tproc->fileDescriptors.insert(queue); + return {}; +} + +orbis::SysResult orbis::sys_kevent(Thread *thread, sint fd, + ptr changelist, sint nchanges, + ptr eventlist, sint nevents, + ptr timeout) { + // ORBIS_LOG_TODO(__FUNCTION__, fd); + thread->retval[0] = 1; return {}; }