changeset 665:2329d4321c4e

Use schedule_callback to ensure correct program counter. Some of the players would randomly fail to finish when the active multiplication was run via the benchmark. Now things seem to behave correctly again.
author Martin Geisler <mg@daimi.au.dk>
date Sun, 13 Apr 2008 22:03:51 +0200
parents 7209f53f0d73
children 876f98730e4c
files viff/runtime.py
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/viff/runtime.py	Sun Apr 13 15:02:16 2008 +0200
+++ b/viff/runtime.py	Sun Apr 13 22:03:51 2008 +0200
@@ -1010,7 +1010,7 @@
         result = Share(self, share_x.field)
         # This is the Deferred we will do processing on.
         triple = self.get_triple(share_x.field)
-        triple.addCallback(finish_mul)
+        self.schedule_callback(triple, finish_mul)
         # We add the result to the chains in triple.
         triple.chainDeferred(result)
         return result
@@ -1159,7 +1159,7 @@
             return zip(a_t, b_t, c_t)
 
         double = self.double_share_random(T, t, 2*t, field)
-        double.addCallback(make_triple)
+        self.schedule_callback(double, make_triple)
         return double
 
     @increment_pc