Wednesday, July 29, 2015

Double Bill: OmniThreadLibrary 3.04b & a Book Update

I have just updated OmniThreadLibrary to version 3.04b. This is kinda important update as I somehow messed the 3.04a release which did not include support for more than 60 concurrent tasks that was added in version 3.04. This important feature is now back and I’ve added few other small improvements.

Changelog for this release:

  • Reimplemented support for TWaitFor in the TOmniTaskControl which was removed from the code in release 3.04a by mistake.
  • Implemented TOmniSingleThreadUseChecker, a record which checks that the owner is only used from one thread.
  • TOmniCommunicationEndpoint.ReceiveWait and .SendWait are now fully thread-safe and support multiple consumers (former) and multiple producers (latter).

Version 3.04b can be downloaded here. Alternatively, you can check out this release or update to the trunk.

I have also released a new version of “the book” which is now 239 pages long! Following sections were added/updated:

  • Documented TOmniValue.
  • Documented TWaitFor.
  • Documented TOmniLockManager.
  • Documented TOmniSingleThreadUseChecker.
  • Adapted Communication Subsystem documentation.


  1. Anonymous00:46

    was removed from the code in release 3.04a by mistake.??
    How does one remove a code by mistake?

    1. Short explanation: By being an idiot.

      Long explanation: I have two 'development' checkouts of OTL (one on my main machine and one on my notebook) and two 'production' checkouts in the company source tree (on those same two machines but in a different folder). Most of the time the 'development' copy is a bit ahead of the 'production' copy but from time to time I'm testing some stuff on the 'production' side before I put it out for the general use. In one such case I screw up the merge and moved an older version of the OtlTaskControl to the 'development' and committed it there. In short, I was being an idiot.

  2. Anonymous15:36

    why remove comment for the money i pay for the spanish version the book and 2 years dont have update i pay you have the money and you steal

    1. I'm very sorry for that but the guy who promised to translate Spanish version has stopped updating the book. (Same goes for the Russian translation.) I sadly don't know Spanish and can't continue the work.

      If you request money refund through the LeanPub, I'll be happy to return the amount you paid.

    2. In case it will be of any use to you - I would like to give you a free access to the English book. Just contact me with an email you bought the book from and I'll send you a link.

  3. Anonymous10:08

    The Delphi XE8 GetIt Package Manager still shows OmniThreadLibrary version 3.04a:

    So how can I update to OmniThreadLibrary 3.04b with the Delphi XE8 GetIt Package Manager?

    1. Don't know yet; I'm trying to figure that out.

  4. Nice Update! Thanks for the support