MIT licensed by Michael Snoyman and Kazu Yamamoto
Maintained by [email protected]
This version can be pinned in stack with:time-manager-0.3.0@sha256:9ef288790676594697ba7a28fe22bff852b9c1e2ecc67c81369183938b452082,855

Module documentation for 0.3.0

Depends on 3 packages(full list with versions):
Used by 5 packages in nightly-2026-01-01(full list with versions):

Scalable timer functions provided by a timer manager and thread management functions to prevent thread leak by a thread manager.

Changes

ChangeLog for time-manager

0.3.0

  • New architecture. The backend is switched from the designated thread to GHC’s System TimerManager. From this version, this library is just wrapper APIs of GHC’s System TimerManager. Unlike v0.2 or earlier, callbacks are executed at the exact time. System TimerManager uses a PSQ (a tree) while v0.2 or earlier uses a list. So, this version hopefully scales better.
  • Deprecated functions: stopManager, killManager and withManager'.
  • tickle sets the specified timeout from now.
  • pause is now identical to cancel.
  • resume is now re-registration of timeout.
  • The signature of withHandle is changed.

0.2.4

  • Providing isAllGone.
  • Providing emptyHandle.

0.2.3

  • Exporting defaultManager.

0.2.2

  • initialize with non positive integer creates a time manager which does not maintain timeout. #1017

0.2.1

  • Export KilledByThreadManager exception #1016

0.2.0

  • Providing System.ThreadManager.
  • withHandle catches TimeoutThread internally. It returns Nothing on timeout.

0.1.3

  • Providing withHandle and withHandleKillThread.

0.1.2

  • Holding Weak ThreadId to prevent thread leak again #1013

0.1.1

  • Removing unliftio.

0.1.0

  • #986
    • Change behavior of cancel to immediately remove the Handle from the reaper’s workload, rather than waiting for timeout.
    • Using auto-update v0.2.0.