diff options
author | Andreas Kling <awesomekling@gmail.com> | 2019-02-01 03:50:06 +0100 |
---|---|---|
committer | Andreas Kling <awesomekling@gmail.com> | 2019-02-01 03:50:06 +0100 |
commit | 95c3442d595efa0a84badc33bd00bd9e10bb2034 (patch) | |
tree | 19b33c0a9ba96bb3774c4b9b58bc27d9b29ee830 /Kernel/Process.h | |
parent | 9153666e72effdf56ce19332f953caff7d173a7e (diff) | |
download | serenity-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.h | 2 |
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 }; |