Commit graph

6 commits

Author SHA1 Message Date
Tim Culverhouse
e8670bd585 tty(windows): refactor and complete windows tty
Refactor the tty implementations. Complete the windows implementation
2024-06-05 06:31:18 -07:00
Rylee Lyman
fbaa6ca8df fix: manually reschedule to avoid hang on macOS
libxev's .rearm semantics are unfortunately not very
portable---rescheduling the exact same event on macOS / kqueue seems
to cause the event loop to hang, while manually rescheduling and
returning .disarm does not.
2024-05-31 11:17:08 -05:00
Tim Culverhouse
49cc8ae7c4 xev: change log scope
We don't want the scope to look like it's from the xev library
2024-05-30 16:03:59 -05:00
Tim Culverhouse
d294428b74 examples(xev): duplicate functionality of vaxis example
The xev example is now a complete replication of the vaxis example, but
using xev as the event loop
2024-05-30 11:10:03 -05:00
Tim Culverhouse
335ea9f2d0 xev: fix todos 2024-05-30 10:06:28 -05:00
Tim Culverhouse
bbd9184e00 loop: add an xev loop implementation
This loop adds an xev.File wrapper called TtyWatcher which delivers
events to the users callback. Note that this implementation does not
handle any of the writes. Writes are always safe in the main thread, so
we let users decide how they will schedule those (buffered writers, xev
writes, etc)
2024-05-30 09:43:48 -05:00