[m-rev.] diff: retries over stores

Zoltan Somogyi zs at cs.mu.OZ.AU
Mon Sep 6 10:06:03 AEST 2004


trace/mercury_trace.c:
	Fix the problem pointed out by Fergus in my previous change with
	respect to retries across updates to stores.

Zoltan.

cvs diff: Diffing .
Index: mercury_trace.c
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/trace/mercury_trace.c,v
retrieving revision 1.73
diff -u -b -r1.73 mercury_trace.c
--- mercury_trace.c	2 Sep 2004 04:31:42 -0000	1.73
+++ mercury_trace.c	5 Sep 2004 13:50:24 -0000
@@ -598,15 +598,16 @@
         }
 
         if (! succeeded) {
-            if (! MR_is_dummy_type(MR_var_pti(call_label, i))) {
+            if (! MR_is_io_state(MR_var_pti(call_label, i))) {
                 *problem = "Cannot perform retry because the "
                     "values of some input arguments are missing.";
                 goto report_problem;
             }
 
             /*
-            ** Since values of dummy types are not actually used,
-            ** we can leave arg_value containing garbage.
+            ** Since values of the I/O states type are not actually used,
+            ** we can leave arg_value containing garbage. The safety of
+            ** the retry is addressed by the code handling has_io_state below.
             */
         }
 
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list