Enable clock_gettime on wasi #2499
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I think this mostly addresses the issues that were brought up in #1307 regarding clock ids; I made clockid_t a wrapper struct because it needs to be Send and Sync to be used in a constant, and I figured it was opaque in wasi-libc anyway. Instead of static ZSTs, I just made them
u8
s, since I figured it's very unlikely that wasi-libc would change them fromstruct __clockid { __wasi_clockid_t id; }
tostruct __clockid {}
, and it'll always be valid to treat a static as a/(u8)+/
. One thing I was wondering about, should I add a cfg check tobuild.rs
checking forcore::ptr::addr_of
? Since I think(?) using that would fix any issue of __clockid becoming a "zst" struct in the future.