Rework async behavior
Remove implicit MonadAsync constraint on `ReaderT ResourceManager IO`
to prevent accidental forking in a resource-limited context.
Change return type to `Awaitable` to match new MonadResourceManager
behavior.
Add `runUnlimitedAsync` to run a forking MonadAsync.
Add `forkTask` functions for explicit forking in any context.
Co-authored-by:
Jan Beinke <git@janbeinke.com>
Showing
- src/Quasar/Async.hs 102 additions, 40 deletionssrc/Quasar/Async.hs
- src/Quasar/Disposable.hs 6 additions, 0 deletionssrc/Quasar/Disposable.hs
- src/Quasar/Observable.hs 15 additions, 26 deletionssrc/Quasar/Observable.hs
- src/Quasar/Timer.hs 8 additions, 3 deletionssrc/Quasar/Timer.hs
- test/Quasar/AsyncSpec.hs 2 additions, 2 deletionstest/Quasar/AsyncSpec.hs
Loading
Please register or sign in to comment