To all #Rust programmers on #Linux that want to use the kernel's new pidfd feature to asynchronously await on many child processes from the same thread -- reliably -- I've released the [pidfd] crate, which achieves precisely that.
Note, however, that Linux 5.3 is the minimum requirement to use this crate. Linux 5.4 is required to get the exit status from terminated processes (use the `waitid` feature).
Testing would be highly welcome!
With the new async / await syntax in #Rust, working with futures is easier than ever.
This weekend, I've spent some time rewriting my `async-fetcher` crate with the new syntax. The result is more features, and better performance, at a fraction of the original amount of code.
The new rewrite now supports execution on current-thread runtimes, with optional support for speeding up downloads by using multiple connections to download the same file from multiple URLs.
System76 Engineer; Pop!_OS maintainer; Rust / Linux software developer
Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.