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

Commit 4f333b04 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...

Merge "rust: Mark DeathRecipient Send and Sync" am: 593991bf am: 3d3003b3 am: bf0155a0 am: a9b2fcd9 am: 41ce7aa5

Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2054944



Change-Id: I0ae119ceaacd28e0419620de34ece5c7d7cc326d
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents b3c1c37e 41ce7aa5
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.