Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consistently handle exceptions in reactive streams #2646

Merged
merged 7 commits into from Apr 20, 2021

Commits on Apr 16, 2021

  1. Consistently handle exceptions in reactive streams

    * Fixed `PublisherCoroutine` and `rxObservable` ignoring
      cancellations.
    * Fatal exceptions are not treated in a special manner by us
      anymore. Instead, we follow the requirement in the reactive
      streams specification that, in case some method of `Subscriber`
      throws, that subscriber MUST be considered cancelled, and the
      exception MUST be reported in some place other than `onError`.
    * Fixed `trySend` sometimes throwing in `PublisherCoroutine` and
      `rxObservable`.
    * When an exception happens inside a cancellation handler, we now
      consistently throw the original exception passed to the handler,
      with the new exception added as suppressed.
    dkhalanskyjb committed Apr 16, 2021
    Configuration menu
    Copy the full SHA
    1b5d633 View commit details
    Browse the repository at this point in the history
  2. Fixes

    dkhalanskyjb committed Apr 16, 2021
    Configuration menu
    Copy the full SHA
    884c51b View commit details
    Browse the repository at this point in the history
  3. Fixes

    dkhalanskyjb committed Apr 16, 2021
    Configuration menu
    Copy the full SHA
    8f9c70d View commit details
    Browse the repository at this point in the history
  4. Kludges

    dkhalanskyjb committed Apr 16, 2021
    Configuration menu
    Copy the full SHA
    e06faa9 View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2021

  1. Add some tests and fixes

    * Fixed `doLockedNext` not releasing the lock in
      `PublisherCoroutine` if `null` is emitted
    * Fixed `flux`, `publish`, `rxObservable` and `rxFlowable`
      incorrectly reporting `isClosedForSend == true` just after
      closing the channel
    dkhalanskyjb committed Apr 19, 2021
    Configuration menu
    Copy the full SHA
    89fd2c1 View commit details
    Browse the repository at this point in the history
  2. Remove the kludges

    dkhalanskyjb committed Apr 19, 2021
    Configuration menu
    Copy the full SHA
    27650e2 View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2021

  1. Style

    dkhalanskyjb committed Apr 20, 2021
    Configuration menu
    Copy the full SHA
    de15a4b View commit details
    Browse the repository at this point in the history