Skip to content

OmniThreadLibrary 3.07.7

Compare
Choose a tag to compare
@gabr42 gabr42 released this 23 Feb 12:17
· 93 commits to master since this release
  • New features:
    • [HHasenack] On XE3 and above, TOmniValue.CastTo supports casting to an interface.
    • [HHasenack] Implemented Parallel.ForEach(IEnumerator) and Parallel.ForEach(IEnumerable).
  • Bug fixes:
    • If additional wait objects registered with RegisterWaitObject were constantly signalled, timers were never called.
    • OtlParallel threads were incorrectly scheduled to the main pool instead of GlobalParallelPool unless IOmniTaskConfig.ThreadPool was used. (introduced in 3.07.6)
    • Using Parallel.Join, .For, and .ForEach with .OnStopInvoke failed with access violation if Join/For/ForEach was not executed with .NoWait.
    • Thread pool creation code waits for thread pool management thread to be started and initialized. Without that, CountQueued and CountExecuting may not be initialized correctly when thread pool creation code exits. [tnx to Roland Skinner]