Skip to content

Commit 2a48d49

Browse files
committed
Merge pull request rust-lang#201 from fiveop/sigwait
Add sigwait/sigwaitinfo/sigtimedwait.
2 parents 7a7676a + c1982a4 commit 2a48d49

File tree

4 files changed

+20
-0
lines changed

4 files changed

+20
-0
lines changed

src/unix/bsd/freebsdlike/mod.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,11 @@ extern {
588588
hdtr: *mut ::sf_hdtr,
589589
sbytes: *mut ::off_t,
590590
flags: ::c_int) -> ::c_int;
591+
pub fn sigtimedwait(set: *const sigset_t,
592+
info: *mut siginfo_t,
593+
timeout: *const ::timespec) -> ::c_int;
594+
pub fn sigwaitinfo(set: *const sigset_t,
595+
info: *mut siginfo_t) -> ::c_int;
591596
}
592597

593598
cfg_if! {

src/unix/bsd/openbsdlike/netbsd.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,4 +378,10 @@ extern {
378378
pub fn pthread_attr_getstack(attr: *const ::pthread_attr_t,
379379
stackaddr: *mut *mut ::c_void,
380380
stacksize: *mut ::size_t) -> ::c_int;
381+
#[link_name = "__sigtimedwait50"]
382+
pub fn sigtimedwait(set: *const sigset_t,
383+
info: *mut siginfo_t,
384+
timeout: *const ::timespec) -> ::c_int;
385+
pub fn sigwaitinfo(set: *const sigset_t,
386+
info: *mut siginfo_t) -> ::c_int;
381387
}

src/unix/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -509,6 +509,10 @@ extern {
509509
#[cfg_attr(target_os = "netbsd", link_name = "__sigaltstack14")]
510510
pub fn sigaltstack(ss: *const stack_t,
511511
oss: *mut stack_t) -> ::c_int;
512+
#[cfg_attr(all(target_os = "macos", target_arch ="x86"),
513+
link_name = "sigwait$UNIX2003")]
514+
pub fn sigwait(set: *const sigset_t,
515+
sig: *mut ::c_int) -> ::c_int;
512516

513517
#[cfg_attr(target_os = "netbsd", link_name = "__utimes50")]
514518
pub fn utimes(filename: *const ::c_char,

src/unix/notbsd/linux/mod.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -542,6 +542,11 @@ extern {
542542
pub fn setns(fd: ::c_int, nstype: ::c_int) -> ::c_int;
543543
pub fn mkostemp(template: *mut ::c_char, flags: ::c_int) -> ::c_int;
544544
pub fn mkostemps(template: *mut ::c_char, suffixlen: ::c_int, flags: ::c_int) -> ::c_int;
545+
pub fn sigtimedwait(set: *const sigset_t,
546+
info: *mut siginfo_t,
547+
timeout: *const ::timespec) -> ::c_int;
548+
pub fn sigwaitinfo(set: *const sigset_t,
549+
info: *mut siginfo_t) -> ::c_int;
545550
}
546551

547552
cfg_if! {

0 commit comments

Comments
 (0)