diff --git a/Cargo.toml b/Cargo.toml index 04d3b6b..8ca43a9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,3 +26,4 @@ pkg-config = "0.3.3" #force a newer version for libudev-sys to fix minimal versi mio = ["mio10"] # mio feature defaults to the newest mio version hwdb = [] send = [] +sync = [] diff --git a/src/device.rs b/src/device.rs index 919b10b..69fbac4 100644 --- a/src/device.rs +++ b/src/device.rs @@ -70,6 +70,8 @@ impl Drop for Device { #[cfg(feature = "send")] unsafe impl Send for Device {} +#[cfg(feature = "sync")] +unsafe impl Sync for Device {} as_ffi_with_context!(Device, device, ffi::udev_device, ffi::udev_device_ref); diff --git a/src/enumerator.rs b/src/enumerator.rs index a7fbc90..936578a 100644 --- a/src/enumerator.rs +++ b/src/enumerator.rs @@ -35,6 +35,8 @@ impl Drop for Enumerator { #[cfg(feature = "send")] unsafe impl Send for Enumerator {} +#[cfg(feature = "sync")] +unsafe impl Sync for Enumerator {} as_ffi_with_context!( Enumerator, diff --git a/src/hwdb.rs b/src/hwdb.rs index 28ea8b2..b7fdf1b 100644 --- a/src/hwdb.rs +++ b/src/hwdb.rs @@ -32,6 +32,8 @@ impl Drop for Hwdb { #[cfg(feature = "send")] unsafe impl Send for Hwdb {} +#[cfg(feature = "sync")] +unsafe impl Sync for Hwdb {} as_ffi!(Hwdb, hwdb, ffi::udev_hwdb, ffi::udev_hwdb_ref); diff --git a/src/list.rs b/src/list.rs index c8bd822..c2c7d27 100644 --- a/src/list.rs +++ b/src/list.rs @@ -17,6 +17,8 @@ pub struct List<'a, T: 'a, E: 'a> { #[cfg(feature = "send")] unsafe impl Send for List<'_, T, E> {} +#[cfg(feature = "sync")] +unsafe impl Sync for List<'_, T, E> {} pub type EntryList<'a, T> = List<'a, T, Entry<'a>>; diff --git a/src/monitor.rs b/src/monitor.rs index a7ba1ed..81c3e5d 100644 --- a/src/monitor.rs +++ b/src/monitor.rs @@ -50,6 +50,8 @@ impl Drop for Builder { #[cfg(feature = "send")] unsafe impl Send for Builder {} +#[cfg(feature = "sync")] +unsafe impl Sync for Builder {} as_ffi_with_context!(Builder, monitor, ffi::udev_monitor, ffi::udev_monitor_ref); diff --git a/src/udev.rs b/src/udev.rs index cb136ef..caa346d 100644 --- a/src/udev.rs +++ b/src/udev.rs @@ -33,6 +33,8 @@ impl Drop for Udev { #[cfg(feature = "send")] unsafe impl Send for Udev {} +#[cfg(feature = "sync")] +unsafe impl Sync for Udev {} as_ffi!(Udev, udev, ffi::udev, ffi::udev_ref);