• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //! Process-associated operations.
2 
3 #[cfg(not(target_os = "wasi"))]
4 mod chdir;
5 mod exit;
6 #[cfg(not(target_os = "wasi"))] // WASI doesn't have get[gpu]id.
7 mod id;
8 #[cfg(not(target_os = "wasi"))]
9 mod kill;
10 #[cfg(any(target_os = "android", target_os = "linux"))]
11 mod membarrier;
12 #[cfg(any(target_os = "android", target_os = "linux"))]
13 mod prctl;
14 #[cfg(not(any(target_os = "fuchsia", target_os = "wasi")))] // WASI doesn't have [gs]etpriority.
15 mod priority;
16 #[cfg(target_os = "freebsd")]
17 mod procctl;
18 #[cfg(not(any(target_os = "fuchsia", target_os = "redox", target_os = "wasi")))]
19 mod rlimit;
20 #[cfg(any(
21     target_os = "android",
22     target_os = "dragonfly",
23     target_os = "fuchsia",
24     target_os = "linux",
25 ))]
26 mod sched;
27 mod sched_yield;
28 #[cfg(not(target_os = "wasi"))] // WASI doesn't have uname.
29 mod uname;
30 #[cfg(not(target_os = "wasi"))]
31 mod wait;
32 
33 #[cfg(not(target_os = "wasi"))]
34 pub use chdir::chdir;
35 #[cfg(not(any(target_os = "wasi", target_os = "fuchsia")))]
36 pub use chdir::fchdir;
37 #[cfg(not(target_os = "wasi"))]
38 pub use chdir::getcwd;
39 #[cfg(not(target_os = "wasi"))]
40 pub use exit::EXIT_SIGNALED_SIGABRT;
41 pub use exit::{EXIT_FAILURE, EXIT_SUCCESS};
42 #[cfg(any(target_os = "android", target_os = "linux"))]
43 pub use id::Cpuid;
44 #[cfg(not(target_os = "wasi"))]
45 pub use id::{
46     getegid, geteuid, getgid, getpgid, getpgrp, getpid, getppid, getuid, setsid, Gid, Pid, RawGid,
47     RawNonZeroPid, RawPid, RawUid, Uid,
48 };
49 #[cfg(not(target_os = "wasi"))]
50 pub use kill::{kill_current_process_group, kill_process, kill_process_group, Signal};
51 #[cfg(any(target_os = "android", target_os = "linux"))]
52 pub use membarrier::{
53     membarrier, membarrier_cpu, membarrier_query, MembarrierCommand, MembarrierQuery,
54 };
55 #[cfg(any(target_os = "android", target_os = "linux"))]
56 pub use prctl::*;
57 #[cfg(not(any(target_os = "fuchsia", target_os = "wasi")))]
58 pub use priority::nice;
59 #[cfg(not(any(target_os = "fuchsia", target_os = "redox", target_os = "wasi")))]
60 pub use priority::{
61     getpriority_pgrp, getpriority_process, getpriority_user, setpriority_pgrp, setpriority_process,
62     setpriority_user,
63 };
64 #[cfg(target_os = "freebsd")]
65 pub use procctl::*;
66 #[cfg(any(target_os = "android", target_os = "linux"))]
67 pub use rlimit::prlimit;
68 #[cfg(not(any(target_os = "fuchsia", target_os = "redox", target_os = "wasi")))]
69 pub use rlimit::{getrlimit, setrlimit, Resource, Rlimit};
70 #[cfg(any(
71     target_os = "android",
72     target_os = "dragonfly",
73     target_os = "fuchsia",
74     target_os = "linux",
75 ))]
76 pub use sched::{sched_getaffinity, sched_setaffinity, CpuSet};
77 pub use sched_yield::sched_yield;
78 #[cfg(not(target_os = "wasi"))]
79 pub use uname::{uname, Uname};
80 #[cfg(not(target_os = "wasi"))]
81 pub use wait::{wait, waitpid, WaitOptions, WaitStatus};
82 
83 #[cfg(not(target_os = "wasi"))]
84 #[cfg(feature = "fs")]
85 pub(crate) use id::translate_fchown_args;
86