aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/settings.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2010-10-14 11:06:26 -0400
committerGravatar Adam Chlipala <adam@chlipala.net>2010-10-14 11:06:26 -0400
commit7bf0a0124a6c8a834983a660af53d8789ac0a8ac (patch)
tree628ead017a0f1cf2138f9f9b08088debf81e1ce5 /src/settings.sml
parent4e608544ebe87dd991d53ded5267f14f5df93b8b (diff)
Interface for setting memory limits
Diffstat (limited to 'src/settings.sml')
-rw-r--r--src/settings.sml12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/settings.sml b/src/settings.sml
index 5da1a24e..4512b7d8 100644
--- a/src/settings.sml
+++ b/src/settings.sml
@@ -490,4 +490,16 @@ val onError = ref (NONE : (string * string list * string) option)
fun setOnError x = onError := x
fun getOnError () = !onError
+val limits = ["messages", "clients", "headers", "page", "heap", "script",
+ "inputs", "subinputs", "cleanup", "deltas", "transactionals",
+ "globals", "database"]
+
+val limitsList = ref ([] : (string * int) list)
+fun addLimit (v as (name, _)) =
+ if List.exists (fn name' => name' = name) limits then
+ limitsList := v :: !limitsList
+ else
+ raise Fail ("Unknown limit category '" ^ name ^ "'")
+fun limits () = !limitsList
+
end