Import Upstream version 20180207
[hcoop/debian/mlton.git] / doc / guide / src / MLtonRlimit.adoc
CommitLineData
7f918cf1
CE
1MLtonRlimit
2===========
3
4[source,sml]
5----
6signature MLTON_RLIMIT =
7 sig
8 structure RLim : sig
9 type t
10 val castFromSysWord: SysWord.word -> t
11 val castToSysWord: t -> SysWord.word
12 end
13
14 val infinity: RLim.t
15
16 type t
17
18 val coreFileSize: t (* CORE max core file size *)
19 val cpuTime: t (* CPU CPU time in seconds *)
20 val dataSize: t (* DATA max data size *)
21 val fileSize: t (* FSIZE Maximum filesize *)
22 val numFiles: t (* NOFILE max number of open files *)
23 val lockedInMemorySize: t (* MEMLOCK max locked address space *)
24 val numProcesses: t (* NPROC max number of processes *)
25 val residentSetSize: t (* RSS max resident set size *)
26 val stackSize: t (* STACK max stack size *)
27 val virtualMemorySize: t (* AS virtual memory limit *)
28
29 val get: t -> {hard: rlim, soft: rlim}
30 val set: t * {hard: rlim, soft: rlim} -> unit
31 end
32----
33
34`MLton.Rlimit` provides a wrapper around the C `getrlimit` and
35`setrlimit` functions.
36
37* `type Rlim.t`
38+
39the type of resource limits.
40
41* `infinity`
42+
43indicates that a resource is unlimited.
44
45* `type t`
46+
47the types of resources that can be inspected and modified.
48
49* `get r`
50+
51returns the current hard and soft limits for resource `r`. May raise
52`OS.SysErr`.
53
54* `set (r, {hard, soft})`
55+
56sets the hard and soft limits for resource `r`. May raise
57`OS.SysErr`.