Commit Graph

92 Commits

Author SHA1 Message Date
John Nunley eb9d92a2e0
v3.7.0
Signed-off-by: John Nunley <dev@notgull.net>
2024-04-22 16:33:52 -07:00
Nikolay Arhipov 9e46c8455c
feat: ported to Vita target
Fixes #160
2024-04-20 11:22:46 -07:00
John Nunley 1c16a1e4af
v3.6.0
Signed-off-by: John Nunley <dev@notgull.net>
2024-03-23 20:42:01 -07:00
John Nunley 50454d1cea
feat: Add support for HermitOS
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>
2024-03-12 21:33:06 -07:00
John Nunley 4d64fdc572
v3.5.0
Signed-off-by: John Nunley <dev@notgull.net>
2024-02-17 22:02:48 -08:00
John Nunley 77b4ed1156
feat: On RedoxOS, use epoll instead of the poll backend
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
2024-02-11 08:31:13 -08:00
John Nunley ac7fbcae31
v3.4.0
Signed-off-by: John Nunley <dev@notgull.net>
2024-02-05 19:18:30 -08:00
irvingouj @ Devolutions cf25dd85f8
feat: Add the ability to identify if the connection has failed 2024-01-26 12:58:39 -08:00
John Nunley 6125508c93
v3.3.2
Signed-off-by: John Nunley <dev@notgull.net>
2024-01-14 09:00:57 -08:00
John Nunley b57a7c32a2
v3.3.1
Signed-off-by: John Nunley <dev@notgull.net>
2023-11-24 08:22:27 -08:00
dependabot[bot] 08a316e1fc
m: Update windows-sys requirement from 0.48 to 0.52
* Update windows-sys requirement from 0.48 to 0.52

Updates the requirements on [windows-sys](https://github.com/microsoft/windows-rs) to permit the latest version.
- [Release notes](https://github.com/microsoft/windows-rs/releases)
- [Commits](https://github.com/microsoft/windows-rs/compare/0.48.0...0.52.0)

---
updated-dependencies:
- dependency-name: windows-sys
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Correct windows-sys imports

Signed-off-by: John Nunley <dev@notgull.net>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: John Nunley <dev@notgull.net>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: John Nunley <dev@notgull.net>
2023-11-24 07:53:04 -08:00
John Nunley 8087787ab2
v3.3.0
Signed-off-by: John Nunley <dev@notgull.net>
2023-10-28 18:54:47 -07:00
John Nunley b9ab821df1
bugfix: Handle interrupts while polling
Previous, `Poller::wait` would bubble signal interruption error to the user.
However, this may be unexpected for simple use cases. Thus, this commit makes
it so, if `ErrorKind::Interrupted` is received by the underlying `wait()` call,
it clears the events and tries to wait again.

This also adds a test for this interruption written by @psychon.

Co-Authored-By: Uli Schlachter <psychon@users.noreply.github.com>
Signed-off-by: John Nunley <dev@notgull.net>
2023-10-27 07:02:08 -07:00
Taiki Endo a559165acd
Migrate to Rust 2021 (#158) 2023-10-08 14:46:23 +09:00
John Nunley d9a65fdd73
v3.2.0
Signed-off-by: John Nunley <dev@notgull.net>
2023-10-02 07:37:32 -07:00
John Nunley 45ebe3b904
v3.1.0
Signed-off-by: John Nunley <dev@notgull.net>
2023-09-25 09:42:41 -07:00
John Nunley 256542375c
v3.0.0
Signed-off-by: John Nunley <dev@notgull.net>
2023-09-04 18:41:32 -07:00
John Nunley 90c661f5e1 Remove the std default feature
Added in 272bb11eaf for reasons that are
unclear to me. It serves no purpose aside from disabling the API of the
entire crate, so it's best to remove it.

Signed-off-by: John Nunley <dev@notgull.net>
2023-09-04 22:15:28 +02:00
John Nunley 7718565d11
Remove libc from dev deps (#146)
Signed-off-by: John Nunley <dev@notgull.net>
Signed-off-by: Alain Zscheile <fogti+devel@ytrizja.de>
2023-09-04 22:12:42 +02:00
John Nunley e42664d57e
m: Remove libc from our dependencies
This means that we only depend on rustix, so all of the system calls
are direct. This should make mustang integration trivial.

Signed-off-by: John Nunley <dev@notgull.net>
2023-08-13 18:49:43 -07:00
John Nunley c6a0890627
feat: Add support for waiting on waitable handles
* Add support for polling waitable handles

* Add a smoke test

* Fix failing tests

* Rebase on latest master

Signed-off-by: John Nunley <dev@notgull.net>

* Update semantics for new system

Signed-off-by: John Nunley <dev@notgull.net>

* Forgot about doctests

Signed-off-by: John Nunley <dev@notgull.net>

---------

Signed-off-by: John Nunley <dev@notgull.net>
2023-08-08 20:40:21 -07:00
John Nunley 6eb7679aa3
breaking: Rework the API for I/O safety
* Rework the API for I/O safety

* Bump to rustix v0.38
2023-08-03 20:15:59 -07:00
dependabot[bot] ea5946c453 Update fastrand requirement from 1.9.0 to 2.0.0
Updates the requirements on [fastrand](https://github.com/smol-rs/fastrand) to permit the latest version.
- [Release notes](https://github.com/smol-rs/fastrand/releases)
- [Changelog](https://github.com/smol-rs/fastrand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/smol-rs/fastrand/compare/v1.9.0...v2.0.0)

---
updated-dependencies:
- dependency-name: fastrand
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-16 19:16:56 +09:00
John Nunley a8eb2dfc48
m: Remove the bitflags dependency 2023-06-28 20:19:12 -07:00
John Nunley 7a1fd31944
Replace log with tracing (#119) 2023-06-20 20:28:18 -07:00
John Nunley 5df378f811
Bump MSRV to 1.63 (#117)
Removes the build script and bumps bitflags to v2
2023-06-11 10:37:25 -07:00
John Nunley 8d8d2efcc2
Replace libc with rustix in some backends (#108) 2023-04-23 07:26:29 -07:00
John Nunley d3a171b88b
v2.8.0 (#107) 2023-04-20 14:50:12 -07:00
John Nunley 6857a165aa
Use the try-iter method from concurrent-queue (#105) 2023-04-08 22:05:37 -07:00
John Nunley 8f6d039b26
v2.7.0 (#104)
- Add edge/oneshot combination mode. (#96)
- Update windows-sys requirement from 0.45 to 0.48. (#103)
2023-04-07 11:20:57 -07:00
Taiki Endo 1e101c500f Update windows-sys to 0.48 2023-04-04 04:25:36 +09:00
John Nunley e10c7e8da1
Version 2.6.0 (#92) 2023-03-08 10:42:18 -08:00
John Nunley f48f2c1a5a
test: Add test for more than 32 connections (#93)
Making sure that this works on Windows after #88
2023-03-08 10:40:23 -08:00
John Nunley 24900fb662
m(windows): Reimplement Wepoll in Rust (#88)
Reimplements the C-based wepoll backend in Rust, using some handwritten code. This PR also implements bindings to the I/O Completion Ports and \Device\Afd APIs. For more information on the latter, see my blog post on the subject: https://notgull.github.io/device-afd/

Note that the IOCP API is wrapped using a `Pin`-oriented "CompletionHandle" system that is relatively brittle. This should be replaced with a better model when one becomes available.
2023-03-05 16:25:25 -08:00
dependabot[bot] 914aa48d67 Update windows-sys requirement from 0.42 to 0.45
Updates the requirements on [windows-sys](https://github.com/microsoft/windows-rs) to permit the latest version.
- [Release notes](https://github.com/microsoft/windows-rs/releases)
- [Commits](https://github.com/microsoft/windows-rs/compare/0.42.0...0.45.0)

---
updated-dependencies:
- dependency-name: windows-sys
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-23 23:41:01 +09:00
Taiki Endo f0afd7788e
Release 2.5.2 (#58) 2022-12-13 12:26:59 +09:00
Taiki Endo 1d54c93f9d Release 2.5.1 2022-11-29 22:21:43 +09:00
Taiki Endo e5fe94732c Release 2.5.0 2022-11-27 16:22:51 +09:00
John Nunley 8982599ddf
Port to windows-sys (#47) 2022-11-26 20:50:12 -08:00
Taiki Endo ca52490c9d Release 2.4.0 2022-10-24 00:26:11 +09:00
Taiki Endo e0daa5b327 Bump MSRV to 1.47 2022-08-21 23:40:10 +09:00
Taiki Endo d32e79b5dd Release 2.3.0 2022-08-21 20:14:55 +09:00
Taiki Endo b9cce6645c Apply doc(cfg(...)) on platform-specific APIs 2022-08-21 19:47:00 +09:00
John Nunley 323473ec1a
Expose raw handles for the `Poller` (#39)
* expose raw handles

* add comment explaining no_*
2022-08-18 09:52:28 -07:00
Taiki Endo a12be08c97 Fix MSRV 2022-01-09 01:58:56 +09:00
Taiki Endo dec94cb423 Clean up CI config 2022-01-09 01:50:42 +09:00
Taiki Endo 89ce9bafaa Bump to v2.2.0 2021-11-10 19:31:42 +09:00
Taiki Endo 4ac15ff339
Merge pull request #26 from Kestrer/master
Support VxWorks, Fuchsia and other Unix systems by using poll
2021-09-11 18:09:28 +09:00
Kestrer ee13911717 Remove `extra_traits` libc feature 2021-09-04 17:58:56 +01:00
Zeeshan Ali 952fccb2f5 Release 2.1.0
Bumping minor (rather than micro) version as this is not a bugfix
release exactly but changes deps and license (indirectly).
2021-06-14 13:45:43 +02:00