Skip to content

Commit

Permalink
Auto merge of #2097 - cmusser:topic/dfly-waitid, r=JohnTitor
Browse files Browse the repository at this point in the history
dragonflybsd: expose waitid() prototype + related constants

This exposes the POSIX waitid() process management function and some related defined constants for dragonflybsd. It includes one correction: WSTOPPED which previously had the wrong value. Noticed this when a crate that depended on it, process_control, wouldn't compile on this platform.
  • Loading branch information
bors committed Mar 3, 2021
2 parents 6b1e6a2 + c334f98 commit ec86e5f
Showing 1 changed file with 19 additions and 2 deletions.
21 changes: 19 additions & 2 deletions src/unix/bsd/freebsdlike/dragonfly/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ pub type uuid_t = ::uuid;

pub type fsblkcnt_t = u64;
pub type fsfilcnt_t = u64;
pub type idtype_t = ::c_uint;

pub type mqd_t = ::c_int;
pub type sem_t = *mut sem;
Expand Down Expand Up @@ -982,8 +983,17 @@ pub const _SC_V7_LPBIG_OFFBIG: ::c_int = 125;
pub const _SC_THREAD_ROBUST_PRIO_INHERIT: ::c_int = 126;
pub const _SC_THREAD_ROBUST_PRIO_PROTECT: ::c_int = 127;

pub const WCONTINUED: ::c_int = 4;
pub const WSTOPPED: ::c_int = 0o177;
pub const WCONTINUED: ::c_int = 0x4;
pub const WSTOPPED: ::c_int = 0x2;
pub const WNOWAIT: ::c_int = 0x8;
pub const WEXITED: ::c_int = 0x10;
pub const WTRAPPED: ::c_int = 0x20;

// Similar to FreeBSD, only the standardized ones are exposed.
// There are more.
pub const P_PID: idtype_t = 0;
pub const P_PGID: idtype_t = 2;
pub const P_ALL: idtype_t = 7;

// Values for struct rtprio (type_ field)
pub const RTP_PRIO_REALTIME: ::c_ushort = 0;
Expand Down Expand Up @@ -1061,6 +1071,13 @@ extern "C" {
timeout: *mut ::timespec,
) -> ::c_int;

pub fn waitid(
idtype: idtype_t,
id: ::id_t,
infop: *mut ::siginfo_t,
options: ::c_int,
) -> ::c_int;

pub fn freelocale(loc: ::locale_t);

pub fn lwp_rtprio(
Expand Down

0 comments on commit ec86e5f

Please sign in to comment.