Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 593991bf authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "rust: Mark DeathRecipient Send and Sync"

parents f0ea70ec 51d76c81
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -575,6 +575,20 @@ struct DeathRecipientVtable {
    cookie_decr_refcount: unsafe extern "C" fn(*mut c_void),
}

/// # Safety
///
/// A `DeathRecipient` is a wrapper around `AIBinder_DeathRecipient` and a pointer
/// to a `Fn` which is `Sync` and `Send` (the cookie field). As
/// `AIBinder_DeathRecipient` is threadsafe, this structure is too.
unsafe impl Send for DeathRecipient {}

/// # Safety
///
/// A `DeathRecipient` is a wrapper around `AIBinder_DeathRecipient` and a pointer
/// to a `Fn` which is `Sync` and `Send` (the cookie field). As
/// `AIBinder_DeathRecipient` is threadsafe, this structure is too.
unsafe impl Sync for DeathRecipient {}

impl DeathRecipient {
    /// Create a new death recipient that will call the given callback when its
    /// associated object dies.