X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FThread%2FCleanup.pm;h=3c2a5e8883144dc66d3e5d65f0e5d48458b2cb0e;hb=37553cfe3ca2a0f8527eb53961b35ac5e157a3c6;hp=96256fd4ea227484a841e01d07da822884123b71;hpb=edfeeb476d5446fc117243df3a5b4ce6baa82b43;p=perl%2Fmodules%2FThread-Cleanup.git diff --git a/lib/Thread/Cleanup.pm b/lib/Thread/Cleanup.pm index 96256fd..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); } @@ -49,22 +49,26 @@ The hook will also be called when pseudo-forks (i.e. processes spawn on Windows register { ... }; ®ister($coderef); -Specify that the given block or code reference C<$coderef> will have to be called (in void context, without arguments) every time a thread finishes its job. -More precisely, +Specify that the given block or code reference C<$coderef> will have to be called (in void context, without arguments) every time a thread or a pseudo-fork terminates. +More precisely : =over 4 =item * -it will always be called before the joining for joined threads ; +For joined threads, it will be called when C succeeds, after any C block local to the spawn thread ; =item * -it will be called for detached threads if and only if they terminate before the main thread, and the hook will then fire at C time ; +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 C time ; =item * -it won't trigger for the destruction of the main thread. +For pseudo-forks, it will be called when C succeeds, after any C block local to the spawn process but before any global C block ; + +=item * + +It will never trigger for the destruction of the main thread. =back @@ -111,7 +115,7 @@ Inspired by a question from TonyC on #p5p. =head1 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.