commit | 4b6ef00d5996471274a1e685eb32c55419482cf7 | [log] [tgz] |
---|---|---|
author | Matthias Hausner <hausner@google.com> | Tue Feb 09 10:44:57 2016 -0800 |
committer | Matthias Hausner <hausner@google.com> | Tue Feb 09 10:44:57 2016 -0800 |
tree | 5be2d1c6aee799df35ba27603b89d3238894477f | |
parent | 8f8b4e0fce950722cad41d51cb548b8957d600ea [diff] |
Cancel async generator only when it yields Async generators should only react to a cancellation when they yield a value. Otherwise, the cancellation is ignored. The example in dartbug.com/23436 should therefore never terminate, because the generator function contains no yield statement. This CL fixes bug 23436 by implementing the expected behavior, i.e. not terminating the generator. If a yield statement is added to the generator, the finally clause is executed once only, as expected. BUG=23436 R=floitsch@google.com Review URL: https://codereview.chromium.org/1683763002 .
Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.
Visit the dartlang.org to learn more about the language, tools, getting started, and more.
Browse pub.dartlang.org for more packages and libraries contributed by the community and the Dart team.
Learn how to get the source and prepare your machine to build the SDK.
There are more documents on our wiki.
The easiest way to contribute to Dart is to file issues.
You can also contribute patches, as described in Contributing.
See LICENSE.