@@ -16,16 +16,20 @@ use std::io::Read;
16
16
use std:: io:: Write ;
17
17
18
18
use serde:: { Deserialize , Serialize } ;
19
- #[ cfg( all( feature = "std" , unix, not( target_os = "android" ) ) ) ]
19
+ #[ cfg( all(
20
+ feature = "std" ,
21
+ unix,
22
+ not( any( target_os = "android" , target_os = "haiku" ) )
23
+ ) ) ]
20
24
pub use unix_shmem:: { MmapShMem , MmapShMemProvider } ;
21
- #[ cfg( all( feature = "std" , unix) ) ]
25
+ #[ cfg( all( feature = "std" , unix, not ( target_os = "haiku" ) ) ) ]
22
26
pub use unix_shmem:: { UnixShMem , UnixShMemProvider } ;
23
27
#[ cfg( all( windows, feature = "std" ) ) ]
24
28
pub use win32_shmem:: { Win32ShMem , Win32ShMemProvider } ;
25
29
26
30
#[ cfg( all( unix, feature = "std" ) ) ]
27
31
use crate :: os:: pipes:: Pipe ;
28
- #[ cfg( all( feature = "std" , unix) ) ]
32
+ #[ cfg( all( feature = "std" , unix, not ( target_os = "haiku" ) ) ) ]
29
33
pub use crate :: os:: unix_shmem_server:: { ServedShMemProvider , ShMemService } ;
30
34
use crate :: { AsMutSlice , AsSlice , Error } ;
31
35
@@ -49,12 +53,12 @@ pub type StdShMemService = ShMemService<MmapShMemProvider>;
49
53
#[ cfg( all(
50
54
feature = "std" ,
51
55
unix,
52
- not( any( target_os = "android" , target_vendor = "apple" ) )
56
+ not( any( target_os = "android" , target_vendor = "apple" , target_os = "haiku" ) )
53
57
) ) ]
54
58
pub type StdShMemProvider = UnixShMemProvider ;
55
59
/// The standard sharedmem service
56
60
#[ cfg( any(
57
- not( any( target_os = "android" , target_vendor = "apple" ) ) ,
61
+ not( any( target_os = "android" , target_vendor = "apple" , target_os = "haiku" ) ) ,
58
62
not( feature = "std" )
59
63
) ) ]
60
64
pub type StdShMemService = DummyShMemService ;
@@ -71,7 +75,7 @@ pub type StdServedShMemProvider = RcShMemProvider<ServedShMemProvider<MmapShMemP
71
75
#[ cfg( all(
72
76
feature = "std" ,
73
77
unix,
74
- not( any( target_os = "android" , target_vendor = "apple" ) )
78
+ not( any( target_os = "android" , target_vendor = "apple" , target_os = "haiku" ) )
75
79
) ) ]
76
80
pub type StdServedShMemProvider = RcShMemProvider < ServedShMemProvider < MmapShMemProvider > > ;
77
81
@@ -427,7 +431,7 @@ where
427
431
//#[cfg(all(unix, feature = "std"))]
428
432
//unsafe impl<SP: ShMemProvider> Send for RcShMemProvider<SP> {}
429
433
430
- #[ cfg( all( unix, feature = "std" ) ) ]
434
+ #[ cfg( all( unix, feature = "std" , not ( target_os = "haiku" ) ) ) ]
431
435
impl < SP > ShMemProvider for RcShMemProvider < SP >
432
436
where
433
437
SP : ShMemProvider + Debug ,
@@ -563,7 +567,7 @@ where
563
567
}
564
568
}
565
569
566
- #[ cfg( all( unix, feature = "std" ) ) ]
570
+ #[ cfg( all( unix, feature = "std" , not ( target_os = "haiku" ) ) ) ]
567
571
impl < SP > Default for RcShMemProvider < SP >
568
572
where
569
573
SP : ShMemProvider + Debug ,
@@ -573,7 +577,7 @@ where
573
577
}
574
578
}
575
579
576
- #[ cfg( all( unix, feature = "std" ) ) ]
580
+ #[ cfg( all( unix, feature = "std" , not ( target_os = "haiku" ) ) ) ]
577
581
impl < SP > RcShMemProvider < ServedShMemProvider < SP > >
578
582
where
579
583
SP : ShMemProvider + Debug ,
@@ -589,7 +593,7 @@ where
589
593
/// On Android, this is partially reused to wrap [`unix_shmem::ashmem::AshmemShMem`],
590
594
/// Although for an [`ServedShMemProvider`] using a unix domain socket
591
595
/// Is needed on top.
592
- #[ cfg( all( unix, feature = "std" ) ) ]
596
+ #[ cfg( all( unix, feature = "std" , not ( target_os = "haiku" ) ) ) ]
593
597
pub mod unix_shmem {
594
598
#[ cfg( doc) ]
595
599
use crate :: shmem:: { ShMem , ShMemProvider } ;
0 commit comments