John Nunley
John Nunley
Resolves #89. ~~There are now two features, enabled by default: `io` and `timer`. `io` enables the `Async` type and `timer` enables the `Timer` type. A different reactor is selected depending...
WASM targets don't support `Async` and probably won't until WASI reaches a more stable point. However, since `parking` is usable on WASM thanks to atomics, it may be desirable to...
This PR resolves #28 by replacing this crate's algorithm with one that is compatible with `no_std`. I realized that the current algorithm is basically a concurrent queue, so I replaced...
If this crate were `no_std`, it would allow crates like `async-lock` and `async-channel` to be used on `no_std` as well. I envision an API with a default `std` feature, and...
I was going to try to implement I/O safety types on the handles as per sunfishcode/io-lifetimes#38, but then I realized that `ChildStdin`, `ChildStdout` and `ChildStderr` don't implement `AsRawFd` at all....
See smol-rs/async-io#93. With the new release of `once_cell`, we no longer compile on 1.47. ``` cargo +1.47 check warning: unused manifest key: package.rust-version error: failed to download `once_cell v1.15.0` Caused...
This PR resolves #24 by making it so the `grow_pool()` function doesn't panic when it is unable to spawn a new thread.
In the course of resolving #31, I realized that users may want to associate other things with tasks, like string names, priorities, debugger information, and otherwise. This PR adds a...
In order to make it easier to debug tasks, it should be possible to give tasks names. I was thinking of an API like this: ```rust Task::builder().name("my-task").spawn(async { println!("Hello world!");...
Resolves #52