Changes for version 0.29

  • Bug fixes *****
  • Shared variables that reference shared variables now consistently report the same thread-local reference memory address.
  • Code refs can now be used as hash keys.
  • Fix spurious warnings regarding mismatched Time::HiRes prototypes.
  • Explicit mg_get in is_shared() to insure tied scalar fetched before ref check.
  • Threads API consistency changes *****
  • Can now store CODE refs in shared variables if using Storable >= 2.05.
  • Can now use CODE refs as shared variable keys (stringified values work as expected).
  • Bumped threads::shared $VERSION to 1.27 to match version-supported features and behavior.
  • Miscellaneous changes *****
  • Add Makefile build option to upgrade Storable to support using CODE refs in shared variable keys, if Storable < 2.05.
  • Round test suite sleep time check sensitivity to eliminate false positives on some (hardware) platforms.
  • Using more portable prototype definitions with some versions of Test::HiRes.
  • Scalar::Util 1.11 or later now required.
  • Sys::SigAction 0.11 or later now required, as this correctly handles the 'safe' sigaction attribute.
  • Fix typo in croak error text in cond_timedwait.

Modules

drop-in replacement for Perl threads using fork()
drop-in replacement for Perl threads::shared with forks()
signal management for forks
default class for tie-ing arrays to threads with forks
default class for tie-ing handles to threads with forks
default class for tie-ing hashes to threads with forks
default class for tie-ing scalars to threads with forks