aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/util.ml7
-rw-r--r--lib/util.mli6
2 files changed, 13 insertions, 0 deletions
diff --git a/lib/util.ml b/lib/util.ml
index eca6e9885e..982546ca9c 100644
--- a/lib/util.ml
+++ b/lib/util.ml
@@ -723,3 +723,10 @@ let heap_size () =
(max_words_total * Sys.word_size / 8)
let heap_size_kb () = (heap_size () + 1023) / 1024
+
+(*s interruption *)
+
+let interrupt = ref false
+let check_for_interrupt () =
+ if !interrupt then begin interrupt := false; raise Sys.Break end
+
diff --git a/lib/util.mli b/lib/util.mli
index 03062e868e..e7a99acd27 100644
--- a/lib/util.mli
+++ b/lib/util.mli
@@ -217,3 +217,9 @@ val size_kb : 'a -> int
val heap_size : unit -> int
val heap_size_kb : unit -> int
+
+(*s Coq interruption: set the following boolean reference to interrupt Coq
+ (it eventually raises [Break], simulating a Ctrl-C) *)
+
+val interrupt : bool ref
+val check_for_interrupt : unit -> unit