mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 13:38:11 +00:00
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.
This commit is contained in:
parent
9153666e72
commit
95c3442d59
10 changed files with 140 additions and 7 deletions
|
@ -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 };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue