Menu

ulttiny / Blog: Recent posts

Released v2.1.0

  • Fixed: utt_T_Stop(UTT_STOP_REQ): task execution is continued, so SIG_CS should be disarmed on return.
Posted by Tomasz Pawlak 2026-06-20

Released v2.0.0

The list of changes is quite long, most important are:

  • fixed various issues related to AS-safety: using Signal-Critical Sections, libcxc v6.2+ required,
  • reliable response to STOP_NOW command,
  • removed global lock for initialising synchronisation objects,
  • removed root task group and UTT_AUTO_RM mode - all groups are automatically deleted when completed,
  • utt_CreateTaskGroup() and utt_AttachTaskGroup() are now executed regardless of instance running state, what allows to add new task groups to a running instance,
  • utt_Wait() now takes struct timespec* as an argument - waiting for specified period of time. The main thread is now blocked on futex, unblocked by last active worker thread,
  • various fixes for distributed task scheduler, real-life tests show performance improvement of 18..25%
Posted by Tomasz Pawlak 2026-05-30

Released v1.6.0

  • Update: rcode v4.0
Posted by Tomasz Pawlak 2025-07-24

Released v1.5.0

Maintenance update, no functional changes.

Posted by Tomasz Pawlak 2025-01-05

Released v1.4.0

  • Update: libcxc v3.0.0
  • Update: rcode v3.0: ABI changed!
Posted by Tomasz Pawlak 2024-01-06

Released v1.3.0

  • Fixed: (BUG::CRITICAL) utt_T_DeleteTaskGroup() CRASH if invoked right after utt_T_CreateTaskGroup(): uninitialized p_grp->prev_nxd and p_grp->next pointers.
  • Fixed: (BUG) xxx_DeleteTaskGroup(): a group with uninitialized GroupID was pushed to deleted group list if invoked right after utt_T_CreateTaskGroup().
  • Fixed: (BUG) utt_T_CreateTaskGroup(): missing call to leave_sig_critical_section() if deleted group list is empty.
Posted by Tomasz Pawlak 2023-12-21

Released v1.2.0

  • Fixed: few BUGs related to AS-safety (Asynchronous Signals) .
  • Change: td_wait_start(): removed timeout counter: unconditionally wait for all worker threads,
  • Change: utt_BarrierInit(), utt_MutexInit(): return fault if target structure is already initialized,
  • Added: utt_BarrierDestroy(), utt_MutexDestroy(): most likely those functions will never be needed in practice - added for completeness of the lib interface,
  • Added: worker statistics: UTT_STAT_N_CONT: number of task continuation requests.... read more
Posted by Tomasz Pawlak 2023-09-02

Released v1.1.0

  • Fixed: (BUG) unhandled cxc exceptions could cause a deadlock,
  • Fixed: (BUG) deadlock possible on tdl_lock if exception is raised during thread activation,
  • Fixed: (BUG) utt_CreateTaskGroup(): missing check for UTT_TD_STOP: the function have to return fault if the instance is running,
  • Fixed: library interface description in the public header.

Details in change log.

Posted by Tomasz Pawlak 2023-05-14

Released v1.0.0

First stable release, functional tests passed.

Posted by Tomasz Pawlak 2023-05-05