@@ -198,6 +198,7 @@ pub const SIGIOT : Signal = SIGABRT;
198198pub const SIGPOLL : Signal = SIGIO ;
199199pub const SIGUNUSED : Signal = SIGSYS ;
200200
201+ #[ cfg( not( target_os = "android" ) ) ]
201202libc_bitflags ! {
202203 pub flags SaFlags : libc:: c_int {
203204 SA_NOCLDSTOP ,
@@ -210,6 +211,35 @@ libc_bitflags!{
210211 }
211212}
212213
214+ // On 64-bit android, sa_flags is c_uint while on 32-bit android, it is
215+ // c_ulong.
216+ // FIXME: https://github.com/rust-lang/libc/pull/511
217+ #[ cfg( all( target_os = "android" , target_pointer_width = "32" ) ) ]
218+ libc_bitflags ! {
219+ pub flags SaFlags : libc:: c_ulong {
220+ SA_NOCLDSTOP as libc:: c_ulong,
221+ SA_NOCLDWAIT as libc:: c_ulong,
222+ SA_NODEFER as libc:: c_ulong,
223+ SA_ONSTACK as libc:: c_ulong,
224+ SA_RESETHAND as libc:: c_ulong,
225+ SA_RESTART as libc:: c_ulong,
226+ SA_SIGINFO as libc:: c_ulong,
227+ }
228+ }
229+
230+ #[ cfg( all( target_os = "android" , target_pointer_width = "64" ) ) ]
231+ libc_bitflags ! {
232+ pub flags SaFlags : libc:: c_uint {
233+ SA_NOCLDSTOP as libc:: c_uint,
234+ SA_NOCLDWAIT as libc:: c_uint,
235+ SA_NODEFER as libc:: c_uint,
236+ SA_ONSTACK as libc:: c_uint,
237+ SA_RESETHAND as libc:: c_uint,
238+ SA_RESTART as libc:: c_uint,
239+ SA_SIGINFO as libc:: c_uint,
240+ }
241+ }
242+
213243#[ repr( i32 ) ]
214244#[ derive( Clone , Copy , PartialEq ) ]
215245pub enum SigmaskHow {
0 commit comments