[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <F8K3EZWwaRdB3qwYwk7P9GGQUc83MNW4XLeqRHj6QsA6WtCtpweykXLuM5sj2RbpRu3y3OoFy6gmCtaV2tBA1sxGFeieUnTdaY2yGVSCXQ4=@proton.me>
Date: Fri, 08 Dec 2023 09:27:26 +0000
From: Benno Lossin <benno.lossin@...ton.me>
To: Alice Ryhl <aliceryhl@...gle.com>
Cc: Tiago Lam <tiagolam@...il.com>, Miguel Ojeda <ojeda@...nel.org>,
Alex Gaynor <alex.gaynor@...il.com>,
Wedson Almeida Filho <wedsonaf@...il.com>,
Boqun Feng <boqun.feng@...il.com>, Gary Guo <gary@...yguo.net>,
Björn Roy Baron <bjorn3_gh@...tonmail.com>,
Andreas Hindborg <a.hindborg@...sung.com>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>, Will Deacon <will@...nel.org>,
Waiman Long <longman@...hat.com>,
rust-for-linux@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] rust: sync: add `CondVar::wait_timeout`
On 12/8/23 08:37, Alice Ryhl wrote:
> On Wed, Dec 6, 2023 at 6:05 PM Tiago Lam <tiagolam@...il.com> wrote:
>> On 06/12/2023 10:09, Alice Ryhl wrote:
>>> +/// The return type of `wait_timeout`.
>>> +pub enum CondVarTimeoutResult {
>>> + /// The timeout was reached.
>>> + Timeout,
>>> + /// Somebody woke us up.
>>> + Woken {
>>> + /// Remaining sleep duration.
>>> + jiffies: u64,
>>> + },
>>> + /// A signal occurred.
>>> + Signal {
>>> + /// Remaining sleep duration.
>>> + jiffies: u64,
>>> + },
>>> +}
>>
>> Is `Signal` and `Woken` only going to hold a single value? Would it be
>> best represented as a tuple struct instead, like so?
>>
>> pub enum CondVarTimeoutResult {
>> /// The timeout was reached.
>> Timeout,
>> /// Somebody woke us up.
>> Woken (u64),
>> /// A signal occurred.
>> Signal (u64),
>> }
>
> I could do that, but I like the explicitly named version as it makes
> it clear that the unit is jiffies.
Why not use `type Jiffies = u64;` until we have proper bindings for
them? That way we can have both.
--
Cheers,
Benno
Powered by blists - more mailing lists