]> git.vpit.fr Git - perl/modules/Thread-Cleanup.git/blobdiff - lib/Thread/Cleanup.pm
Clarify a sentence in doc
[perl/modules/Thread-Cleanup.git] / lib / Thread / Cleanup.pm
index ea6788d851929551c9e0229e9390f40e02d0aafa..43b3c06d12408fc0e7a5a5dcb8c661bb3d92ca60 100644 (file)
@@ -11,14 +11,14 @@ Thread::Cleanup - Hook thread destruction.
 
 =head1 VERSION
 
-Version 0.04
+Version 0.06
 
 =cut
 
 our $VERSION;
 
 BEGIN {
- $VERSION = '0.04';
+ $VERSION = '0.06';
  require XSLoader;
  XSLoader::load(__PACKAGE__, $VERSION);
 }
@@ -40,6 +40,8 @@ This module allows you to hook thread destruction without fiddling with the inte
 
 It acts globally on all the threads that may spawn anywhere in your program, with the exception of the main thread.
 
+The hooks registered with this module will also be called when pseudo-forks (i.e. processes spawn on Windows for the C<fork> emulation) terminate.
+
 =head1 FUNCTIONS
 
 =head2 C<register>
@@ -47,22 +49,26 @@ It acts globally on all the threads that may spawn anywhere in your program, wit
     register { ... };
     &register($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<join> succeeds, after any C<END> block local to the spawn thread ;
+
+=item *
+
+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<END> time ;
 
 =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<END> time ;
+For pseudo-forks, it will be called when C<waitpid> succeeds, after any local or global C<END> block ;
 
 =item *
 
-it won't trigger for the destruction of the main thread.
+It will never trigger for the destruction of the main thread.
 
 =back
 
@@ -109,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.