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

Commit bf0155a0 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "rust: Mark DeathRecipient Send and Sync" am: 593991bf am: 3d3003b3

parents d85390a5 3d3003b3
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.