- Fixed bug that was causing the pool to get stuck (hang) while it was destroying itself. This bug could easily be triggered when state creation or destruction failed.
- Destroy the whole pool in case an exception is thrown while creating or destroying a piece of state associated with a worker thread. Indicate this through a new exception type.
- Generalize interface to make it possible to use the Async scheduler to dynamically determine several related pieces of work that need to run on the same thread.
- Stop wrapping exceptions thrown inside a worker thread in an
Or_error. Rethrow them instead. - Remove
computationtype in favor of the standardresult. - Add
.mlifile.
- Remove
Deferred.tfrom function running in the pool. Running async operations outside the main thread is not safe.
- Rename module from
Thread_pooltoThread_pool_async - Use OPAM 2 format
- Do not version constrain Janestreet dependencies
- Fix state updates
- Rename
Thread_pool.with_toThread_pool.with' - Support retries with
Thread_pool.with' - Migrate jbuilder to dune
- Initial extraction into a library
- Depend on minimal set of reasonable libraries
- Convert from OUnit2 to alcotest