about summary refs log tree commit diff stats
path: root/src/io/poll.nim
Commit message (Collapse)AuthorAgeFilesLines
* poll: reset events on errorbptato2024-10-021-1/+5
| | | | | poll will return an error if interrupted, which may leave the events in their previous state. Make sure revents is set to 0 first.
* poll: unset unused fds in registerbptato2024-09-271-0/+3
|
* Fixes for FreeBSDbptato2024-09-261-1/+5
|
* Replace std/selectors with pollbptato2024-09-231-0/+40
std/selectors uses OS-specific selector APIs, which sounds good in theory (faster than poll!), but sucks for portability in practice. Sure, you can fix portability bugs, but who knows how many there are on untested platforms... poll is standard, so if it works on one computer it should work on all other ones. (I hope.) As a bonus, I rewrote the timeout API for poll, which incidentally fixes setTimeout across forks. Also, SIGWINCH should now work on all platforms (as we self-pipe instead of signalfd/kqueue magic).