Import Upstream version 20180207
[hcoop/debian/mlton.git] / basis-library / libs / basis-1997 / posix / process.sig
1 signature POSIX_PROCESS_1997 =
2 sig
3 eqtype signal
4 eqtype pid
5
6 val wordToPid: SysWord.word -> pid
7 val pidToWord: pid -> SysWord.word
8 val fork: unit -> pid option
9 val exec: string * string list -> 'a
10 val exece: string * string list * string list -> 'a
11 val execp: string * string list -> 'a
12
13 datatype waitpid_arg =
14 W_ANY_CHILD
15 | W_CHILD of pid
16 | W_SAME_GROUP
17 | W_GROUP of pid
18
19 datatype exit_status =
20 W_EXITED
21 | W_EXITSTATUS of Word8.word
22 | W_SIGNALED of signal
23 | W_STOPPED of signal
24
25 structure W :
26 sig
27 include POSIX_FLAGS_1997
28 val untraced: flags
29 end
30
31 val wait: unit -> pid * exit_status
32 val waitpid: waitpid_arg * W.flags list -> pid * exit_status
33 val waitpid_nh: waitpid_arg * W.flags list -> (pid * exit_status) option
34 val exit: Word8.word -> 'a
35
36 datatype killpid_arg =
37 K_PROC of pid
38 | K_SAME_GROUP
39 | K_GROUP of pid
40
41 val kill: killpid_arg * signal -> unit
42 val alarm: Time.time -> Time.time
43 val pause: unit -> unit
44 val sleep: Time.time -> Time.time
45 end