From: Vincent Pit Date: Sun, 28 Sep 2014 15:48:51 +0000 (+0200) Subject: This is 0.06 X-Git-Tag: v0.06^0 X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FThread-Cleanup.git;a=commitdiff_plain;h=37553cfe3ca2a0f8527eb53961b35ac5e157a3c6 This is 0.06 --- diff --git a/Changes b/Changes index 25ffe95..ef34aaf 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,11 @@ Revision history for Thread-Cleanup +0.06 2014-09-28 15:40 UTC + + Doc : Updates and clarifications. + + Fix : The hooks registered by this module will now be reliably + triggered when pseudo-forks (e.g. processes spawn on Windows + for the fork() emulation) terminate. + 0.05 2013-09-01 16:50 UTC This is a maintenance release. The code contains no functional change. Satisfied users of version 0.04 can skip this update. diff --git a/META.json b/META.json index 433962a..d6b28ac 100644 --- a/META.json +++ b/META.json @@ -4,7 +4,7 @@ "Vincent Pit " ], "dynamic_config" : 1, - "generated_by" : "ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.120921", + "generated_by" : "ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.142060", "license" : [ "perl_5" ], @@ -55,5 +55,5 @@ "url" : "http://git.profvince.com/?p=perl%2Fmodules%2FThread-Cleanup.git" } }, - "version" : "0.05" + "version" : "0.06" } diff --git a/META.yml b/META.yml index 65f4cbb..6806ce3 100644 --- a/META.yml +++ b/META.yml @@ -3,31 +3,31 @@ abstract: 'Hook thread destruction.' author: - 'Vincent Pit ' build_requires: - ExtUtils::MakeMaker: 0 - Test::More: 0 - XSLoader: 0 - threads: 1.07 - threads::shared: 0.91 + ExtUtils::MakeMaker: '0' + Test::More: '0' + XSLoader: '0' + threads: '1.07' + threads::shared: '0.91' configure_requires: - ExtUtils::MakeMaker: 0 + ExtUtils::MakeMaker: '0' dynamic_config: 1 -generated_by: 'ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.120921' +generated_by: 'ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.142060' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html - version: 1.4 + version: '1.4' name: Thread-Cleanup no_index: directory: - t - inc requires: - XSLoader: 0 - perl: 5.008 - threads: 1.07 + XSLoader: '0' + perl: '5.008' + threads: '1.07' resources: bugtracker: http://rt.cpan.org/Dist/Display.html?Name=Thread-Cleanup homepage: http://search.cpan.org/dist/Thread-Cleanup/ license: http://dev.perl.org/licenses/ repository: http://git.profvince.com/?p=perl%2Fmodules%2FThread-Cleanup.git -version: 0.05 +version: '0.06' diff --git a/README b/README index d3ebe0b..5d33e42 100644 --- a/README +++ b/README @@ -2,7 +2,7 @@ NAME Thread::Cleanup - Hook thread destruction. VERSION - Version 0.05 + Version 0.06 SYNOPSIS use Thread::Cleanup; @@ -21,21 +21,30 @@ DESCRIPTION It acts globally on all the threads that may spawn anywhere in your program, with the exception of the main thread. + The hook will also be called when pseudo-forks (i.e. processes spawn on + Windows for the "fork" emulation) terminate. + FUNCTIONS "register" register { ... }; ®ister($coderef); Specify that the given block or code reference $coderef will have to be - called (in void context, without arguments) every time a thread finishes - its job. More precisely, + called (in void context, without arguments) every time a thread or a + pseudo-fork terminates. More precisely : + + * For joined threads, it will be called when "join" succeeds, after + any "END" block local to the spawn thread ; - * it will always be called before the joining for joined threads ; + * For detached threads, it will be called if and only if the thread + terminates before the main thread, and the hook will then fire at + global "END" time ; - * it will be called for detached threads if and only if they terminate - before the main thread, and the hook will then fire at "END" time ; + * For pseudo-forks, it will be called when "waitpid" succeeds, after + any "END" block local to the spawn process but before any global + "END" block ; - * it won't trigger for the destruction of the main thread. + * It will never trigger for the destruction of the main thread. EXPORT None. @@ -69,7 +78,7 @@ ACKNOWLEDGEMENTS Inspired by a question from TonyC on #p5p. COPYRIGHT & LICENSE - Copyright 2009,2010,2013 Vincent Pit, all rights reserved. + Copyright 2009,2010,2013,2014 Vincent Pit, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/lib/Thread/Cleanup.pm b/lib/Thread/Cleanup.pm index c09372c..3c2a5e8 100644 --- a/lib/Thread/Cleanup.pm +++ b/lib/Thread/Cleanup.pm @@ -11,14 +11,14 @@ Thread::Cleanup - Hook thread destruction. =head1 VERSION -Version 0.05 +Version 0.06 =cut our $VERSION; BEGIN { - $VERSION = '0.05'; + $VERSION = '0.06'; require XSLoader; XSLoader::load(__PACKAGE__, $VERSION); }