Previously in the "cross" CI job, checks would use "+nightly" to ensure
that the nightly compiler is used. However this adds a lot of noise. In
order to clean up CI this commit replaces "+nightly" with "rustup
default nightly" at the start of the job.
cc https://github.com/smol-rs/polling/pull/197#discussion_r1573375732
Signed-off-by: John Nunley <dev@notgull.net>
HermitOS is a microkernel target aiming to provide a simple OS for
virtualized applications. It recently added support for the poll() and
eventfd() system calls, which means we can target it with our poll()
based backend.
Hermit does not have a traditional libc; instead it uses hermit-abi.
However rustix does not support using hermit-abi as its underlying
layer yet. So we have to build a shim layer until it does.
Closes#177
cc bytecodealliance/rustix#1012
Signed-off-by: John Nunley <dev@notgull.net>
Technically RedoxOS supports the poll syscall, so we already support
RedoxOS. However, this is very slow. This commit ports this code to
epoll, which should be more efficient.
Closes#176
In some containers, eventfd is not available as it cannot be implemented
securely in some hosts. This commit adds a fallback notifier that uses
a pipe instead of eventfd.
Closes#122
Signed-off-by: John Nunley <dev@notgull.net>
* Support for the ESP-IDF framework
* Restore the spans to work with the raw notify fd
* On Linux eventfd needs PollFlags::IN
* Add cargo check for ESP IDF to the CI
---------
Co-authored-by: imarkov <imarkov@vmware.com>
Dragonfly BSD 6.4.0 VM doesn't seem to have git.
```
error: failed to get `cfg-if` as a dependency of package `polling v2.5.2 (/Users/runner/work/polling/polling)`
Caused by:
failed to load source for dependency `cfg-if`
Caused by:
Unable to update registry `crates-io`
Caused by:
failed to fetch `https://github.com/rust-lang/crates.io-index`
Caused by:
could not execute process `git fetch --force --update-head-ok 'https://github.com/rust-lang/crates.io-index' '+HEAD:refs/remotes/origin/HEAD'` (never executed)
Caused by:
No such file or directory (os error 2)
```
* feat: Expose other kqueue filters
* Fix netbsd/openbsd compilation
* Build MSRV for FreeBsd/OpenBsd in CI
* Only run MSRV BSD builds on Linux
* Change API a little + fix netbsd timer
* Add inlines + move PollerSealed
* rustfmt
* Make filter fields public
* Fix examples