aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgareuselesinge2013-10-01 15:35:31 +0000
committergareuselesinge2013-10-01 15:35:31 +0000
commit7135ab891d130dcce9e1d52fc2687bc569397e2b (patch)
tree33b223a1e98f47ed79767030a4363c4297b49e78
parent22180c5e0894bca2a2a337cea0fb494dc8609200 (diff)
STM: fully force a proof ourput before sending it back to the master
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16830 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--toplevel/stm.ml11
1 files changed, 10 insertions, 1 deletions
diff --git a/toplevel/stm.ml b/toplevel/stm.ml
index a15b31da47..bc16077b93 100644
--- a/toplevel/stm.ml
+++ b/toplevel/stm.ml
@@ -717,7 +717,16 @@ end = struct (* {{{ *)
| ReqBuildProof(exn_info,eop, vcs) ->
VCS.restore vcs;
VCS.print ();
- let r = RespBuiltProof (Future.force (build_proof_here exn_info eop)) in
+ let r = RespBuiltProof (
+ let l = Future.force (build_proof_here exn_info eop) in
+ List.iter (fun (_,se) -> Declareops.iter_side_effects (function
+ | Declarations.SEsubproof(_,
+ { Declarations.const_body = Declarations.OpaqueDef f;
+ const_constraints = cst} ) ->
+ ignore(Future.force f); ignore(Future.force cst)
+ | _ -> ())
+ se) l;
+ l) in
VCS.print ();
r