Changes for version 0.31
- Threads API consistency changes *****
- Module CLONE and CLONE_SKIP functions now are passed package name as first argument.
- When CLONE_SKIP true in package, all objects in child threads are now cleared. This occurs after fork (unavoidable affect of system fork COW), which hopefully should be portable with all non-perl modules. Note that arrays and hashes will be emptied, but not converted to undef scalar ref; this differs from ithreads (where all become undef scalar ref). Patches are welcome.
- Bumped threads $VERSION to 1.72, threads::shared $VERSION to 1.28 to match version-supported features and behavior.
- Bug fixes *****
- Improve package detection for CLONE and CLONE_SKIP; now identifies all packages in symbol table, not just packages identified by %INC. This allows for support of multiple modules in a file/module that may have CLONE or CLONE_SKIP functions.
- Improved Time::HiRes::nanosleep support detection.
- Corrected possible race condition with $thr->get_stack_size(). Documented expected behavior.
- Miscellaneous changes *****
- Added preliminary Perl debugger support. Defaults to tying TTY only to main thread, unless breakpoints exist in user code.
- Add some time tolerance in forks08.t, to accomodate for busy systems or slow signal handling.
- New CPAN module requirements: Devel::Symdump and Acme::Damn.
- Updated to ppport.h 3.16.
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