Executor service cannot be shutdown

Description

Previous to this change (https://github.com/clojure/core.async/commit/a690c4f3b7bf9ae9e7bdc899c030955d5933042d), the executor service used by core async was accessible via a var. While the var was not part of the public api, it is now completely inaccessible as a resource that can be managed. Most importantly, it cannot be shut down without shutting down the JVM. This creates all kinds of operational difficulties and side effects for managing the JVM, especially with class loaders.

It would be helpful to at least lift out the executor back to a var - the way it was before. Ideally, core async would expose the executor as part of the API, where the ordinary ExecutorService interface would apply, or at least have a shutdown function.

Environment

JVM Clojure

Assignee

Unassigned

Reporter

Stephen Brady

Labels

None

Approval

None

Patch

None

Priority

Major
Configure