Index: sdk/lib/async/future.dart |
diff --git a/sdk/lib/async/future.dart b/sdk/lib/async/future.dart |
index eb5fa8b58ad808855a54955a98f6c41d5ee3f80b..5a3d177f74de58fb8209a207acf7e6388058f4c8 100644 |
--- a/sdk/lib/async/future.dart |
+++ b/sdk/lib/async/future.dart |
@@ -519,7 +519,7 @@ abstract class Future<T> { |
// context of all the previous iterations' callbacks. |
// This avoids, e.g., deeply nested stack traces from the stack trace |
// package. |
- nextIteration = Zone.current.bindUnaryCallback((bool keepGoing) { |
+ nextIteration = Zone.current.bindUnaryCallbackGuarded((bool keepGoing) { |
while (keepGoing) { |
FutureOr<bool> result; |
try { |
@@ -537,7 +537,7 @@ abstract class Future<T> { |
keepGoing = result; |
} |
doneSignal._complete(null); |
- }, runGuarded: true); |
+ }); |
nextIteration(true); |
return doneSignal; |
} |