Fix a StreamGroup bug when a component stream's listen() throws (#173)

This would put the StreamGroup into an inconsistent state where it
would believe itself to be active, but only some streams would have
subscriptions. This was exacerbated by dart-lang/sdk#45815, which
meant that even though _onListen threw an error a StreamSubscription
was created and returned, so further callbacks could still be called.

Now instead of going into an inconsistent state, the StreamGroup
simply cancels itself.
4 files changed
tree: 8596c6df19d4aa451f2db88e09e6b598c5be9b83
  1. .github/
  2. .gitignore
  3. AUTHORS
  4. CHANGELOG.md
  5. CONTRIBUTING.md
  6. LICENSE
  7. README.md
  8. analysis_options.yaml
  9. lib/
  10. pubspec.yaml
  11. test/
README.md

Contains utility classes in the style of dart:async to work with asynchronous computations.