Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

BinderTransports may report transportTerminated() despite unfinished work in Executors #12373

Open
Milestone
@jdcormie

Description

For example, BinderClientTransport delays transportTerminated() until all in-flight calls complete but it doesn't consider all the work it may have enqueued on all the various Executors. We should either cancel all these tasks or wait for them to complete before declaring the transport terminated. That's because the higher layer ManagedChannel contract implies/says that all these Executors can be shutdown after termination. There are two cases:

  • ExecutorService#shutdownNow() - our Runnables could be returned from shutdownNow() without having executed. Callers of execute don't really expect this. I can imagine it could cause a resource leak.
  • ExecutorService#shutdown() - less likely to be a problem.

BinderServerTransport seems to have the same problem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      AltStyle によって変換されたページ (->オリジナル) /