Skip to content

Commit

Permalink
Impl Send+Sync for CFRunLoopTimer, CFRunLoopSource, CFRunLoopObserver
Browse files Browse the repository at this point in the history
Following #610,
the same reasoning from
#550
applies to the remaining CFRunLoop types.
  • Loading branch information
kevinmehall committed Dec 4, 2023
1 parent d4ce710 commit 7081449
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions core-foundation/src/runloop.rs
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,9 @@ impl CFRunLoop {
declare_TCFType!(CFRunLoopTimer, CFRunLoopTimerRef);
impl_TCFType!(CFRunLoopTimer, CFRunLoopTimerRef, CFRunLoopTimerGetTypeID);

unsafe impl Send for CFRunLoopTimer {}
unsafe impl Sync for CFRunLoopTimer {}

impl CFRunLoopTimer {
pub fn new(
fireDate: CFAbsoluteTime,
Expand Down Expand Up @@ -177,6 +180,9 @@ impl_TCFType!(
CFRunLoopSourceGetTypeID
);

unsafe impl Send for CFRunLoopSource {}
unsafe impl Sync for CFRunLoopSource {}

impl CFRunLoopSource {
pub fn from_file_descriptor(fd: &CFFileDescriptor, order: CFIndex) -> Option<CFRunLoopSource> {
fd.to_run_loop_source(order)
Expand All @@ -190,6 +196,9 @@ impl_TCFType!(
CFRunLoopObserverGetTypeID
);

unsafe impl Send for CFRunLoopObserver {}
unsafe impl Sync for CFRunLoopObserver {}

#[cfg(test)]
mod test {
use super::*;
Expand Down

0 comments on commit 7081449

Please sign in to comment.