Re: [PATCH v10 7/8] rust: Add read_poll_timeout functions
From: Gary Guo <gary@garyguo.net>
Date: 2025-02-14 11:37:46
Also in:
lkml, rust-for-linux
From: Gary Guo <gary@garyguo.net>
Date: 2025-02-14 11:37:46
Also in:
lkml, rust-for-linux
On Fri, 14 Feb 2025 13:05:30 +0900 (JST) FUJITA Tomonori [off-list ref] wrote:
On Sun, 9 Feb 2025 16:20:48 +0000 Gary Guo [off-list ref] wrote:quoted
quoted
+fn might_sleep(loc: &Location<'_>) { + // SAFETY: FFI call. + unsafe { + crate::bindings::__might_sleep_precision( + loc.file().as_ptr().cast(), + loc.file().len() as i32, + loc.line() as i32, + ) + } +}One last Q: why isn't `might_sleep` marked as `track_caller` and then have `Location::caller` be called internally? It would make the API same as the C macro.Equivalent to the C side __might_sleep(), not might_sleep(). To avoid confusion, it might be better to change the name of this function. The reason why __might_sleep() is used instead of might_sleep() is might_sleep() can't always be called. It was discussed in v2: https://lore.kernel.org/all/ZwPT7HZvG1aYONkQ@boqun-archlinux/ (local)
I don't follow. `__might_sleep` or `might_sleep` wouldn't make a difference here, given that this function may actually sleep. - Gary
quoted
Also -- perhaps this function can be public (though I guess you'd need to put it in a new module).
Wouldn't it be better to keep it private until actual users appear?