@@ -198,6 +198,7 @@ pub const SIGIOT : Signal = SIGABRT;
198
198
pub const SIGPOLL : Signal = SIGIO ;
199
199
pub const SIGUNUSED : Signal = SIGSYS ;
200
200
201
+ #[ cfg( not( target_os = "android" ) ) ]
201
202
libc_bitflags ! {
202
203
pub flags SaFlags : libc:: c_int {
203
204
SA_NOCLDSTOP ,
@@ -210,6 +211,35 @@ libc_bitflags!{
210
211
}
211
212
}
212
213
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
+
213
243
#[ repr( i32 ) ]
214
244
#[ derive( Clone , Copy , PartialEq ) ]
215
245
pub enum SigmaskHow {
0 commit comments