Monday, November 26, 2018

OmniThreadLibrary 3.07.6

Hear, hear, new OmniThreadLibrary is here!
Version 3.07.6 brings official support for Delphi 10.3 Rio, few changes and bugfixes.
You can get it now on git, download the ZIP archive, install it with Delphinus or with GetIt.
For more information, visit OmniThreadLibrary home page or write your question on the forum.

New features

  • Implemented TOmniValue.LogValue.
  • Implemented TOmniBlockingCollection.FromArray<T>, .FromRange<T>, and .AddRange<T>.
  • Added timeout parameter to TOmniMREW.TryEnterReadLock and TOmniMREW.TryExitReadLock.

Bug fixes

  • Fixed race condition in TOmniBaseBoundedQueue.RemoveLink which could cause TOmniBaseBoundedQueue.Enqueue to return False when the queue was empty.
  • Fixed race condition between TOmniResourceCount.[Try]Allocate and TOmniResourceCount.Release. [tnx to Stephen Melnyk]
  • ThreadData is destroyed in the worker thread and not in the thread pool management thread.
  • Reduced hints&warnings.


  1. Anonymous09:55

    Don't want to be SJW advocate, but someone might be offended by "race conditions". They are probably "rare conditions" anyway, right? :)