summaryrefslogtreecommitdiff
path: root/Kernel/Process.h
diff options
context:
space:
mode:
authorAndreas Kling <awesomekling@gmail.com>2019-02-01 03:50:06 +0100
committerAndreas Kling <awesomekling@gmail.com>2019-02-01 03:50:06 +0100
commit95c3442d595efa0a84badc33bd00bd9e10bb2034 (patch)
tree19b33c0a9ba96bb3774c4b9b58bc27d9b29ee830 /Kernel/Process.h
parent9153666e72effdf56ce19332f953caff7d173a7e (diff)
downloadserenity-95c3442d595efa0a84badc33bd00bd9e10bb2034.zip
Implement event loop timers.
GObjects can now register a timer with the GEventLoop. This will eventually cause GTimerEvents to be dispatched to the GObject. This needed a few supporting changes in the kernel: - The PIT now ticks 1000 times/sec. - select() now supports an arbitrary timeout. - gettimeofday() now returns something in the tv_usec field. With these changes, the clock window in guitest2 finally ticks on its own.
Diffstat (limited to 'Kernel/Process.h')
-rw-r--r--Kernel/Process.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/Kernel/Process.h b/Kernel/Process.h
index f388054014..ce465f3182 100644
--- a/Kernel/Process.h
+++ b/Kernel/Process.h
@@ -331,6 +331,8 @@ private:
int m_blocked_fd { -1 };
Vector<int> m_select_read_fds;
Vector<int> m_select_write_fds;
+ timeval m_select_timeout;
+ bool m_select_has_timeout { false };
size_t m_max_open_file_descriptors { 16 };
SignalActionData m_signal_action_data[32];
dword m_pending_signals { 0 };