Skip to content

Commit 9b61cf9

Browse files
committed
Fix build on emscripten
1 parent 07d0127 commit 9b61cf9

File tree

2 files changed

+20
-17
lines changed

2 files changed

+20
-17
lines changed

libc-test/build.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2844,6 +2844,8 @@ fn test_emscripten(target: &str) {
28442844
});
28452845

28462846
cfg.skip_field(move |struct_, field| {
2847+
// _sigev_un is an anonymous union
2848+
(struct_ == "sigevent" && field == "_sigev_un") ||
28472849
// this is actually a union on linux, so we can't represent it well and
28482850
// just insert some padding.
28492851
// FIXME: is this necessary?

src/unix/linux_like/emscripten/mod.rs

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -171,23 +171,6 @@ s! {
171171
pub sem_flg: ::c_short,
172172
}
173173

174-
pub struct aiocb {
175-
pub aio_fildes: ::c_int,
176-
pub aio_lio_opcode: ::c_int,
177-
pub aio_reqprio: ::c_int,
178-
pub aio_buf: *mut ::c_void,
179-
pub aio_nbytes: ::size_t,
180-
pub aio_sigevent: ::sigevent,
181-
__td: *mut ::c_void,
182-
__lock: [::c_int; 2],
183-
__err: ::c_int,
184-
__ret: ::ssize_t,
185-
pub aio_offset: off_t,
186-
__next: *mut ::c_void,
187-
__prev: *mut ::c_void,
188-
__dummy4: [::c_char; 24],
189-
}
190-
191174
pub struct sigaction {
192175
pub sa_sigaction: ::sighandler_t,
193176
pub sa_mask: ::sigset_t,
@@ -351,6 +334,24 @@ s! {
351334
}
352335

353336
s_no_extra_traits! {
337+
#[cfg_attr(feature = "extra_traits", derive(Debug))]
338+
pub struct aiocb {
339+
pub aio_fildes: ::c_int,
340+
pub aio_lio_opcode: ::c_int,
341+
pub aio_reqprio: ::c_int,
342+
pub aio_buf: *mut ::c_void,
343+
pub aio_nbytes: ::size_t,
344+
pub aio_sigevent: ::sigevent,
345+
__td: *mut ::c_void,
346+
__lock: [::c_int; 2],
347+
__err: ::c_int,
348+
__ret: ::ssize_t,
349+
pub aio_offset: off_t,
350+
__next: *mut ::c_void,
351+
__prev: *mut ::c_void,
352+
__dummy4: [::c_char; 24],
353+
}
354+
354355
pub struct dirent {
355356
pub d_ino: ::ino_t,
356357
pub d_off: ::off_t,

0 commit comments

Comments
 (0)