diff options
Diffstat (limited to 'library/states.ml')
-rw-r--r-- | library/states.ml | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/library/states.ml b/library/states.ml index 3a4be1ca..5fc26045 100644 --- a/library/states.ml +++ b/library/states.ml @@ -1,12 +1,12 @@ (************************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) -(* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *) +(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2010 *) (* \VV/ **************************************************************) (* // * This file is distributed under the terms of the *) (* * GNU Lesser General Public License Version 2.1 *) (************************************************************************) -(* $Id: states.ml 13175 2010-06-22 06:28:37Z herbelin $ *) +(* $Id: states.ml 13431 2010-09-18 08:15:29Z herbelin $ *) open System @@ -30,16 +30,16 @@ let (extern_state,intern_state) = (* Rollback. *) -let with_heavy_rollback f x = +let with_heavy_rollback f h x = let st = freeze () in - try + try f x with reraise -> - (unfreeze st; raise reraise) + let e = h reraise in (unfreeze st; raise e) let with_state_protection f x = let st = freeze () in - try + try let a = f x in unfreeze st; a with reraise -> (unfreeze st; raise reraise) |