]> 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 b2773f67ead8200e15d74cff010a8b5ddaa82fc1..43b3c06d12408fc0e7a5a5dcb8c661bb3d92ca60 100644 (file)
@@ -11,14 +11,14 @@ Thread::Cleanup - Hook thread destruction.
 
 =head1 VERSION
 
-Version 0.02
+Version 0.06
 
 =cut
 
 our $VERSION;
 
 BEGIN {
- $VERSION = '0.02';
+ $VERSION = '0.06';
  require XSLoader;
  XSLoader::load(__PACKAGE__, $VERSION);
 }
@@ -40,26 +40,35 @@ 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 BLOCK>
+=head2 C<register>
+
+    register { ... };
+    &register($coderef);
 
-Specify that the C<BLOCK> 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
 
@@ -79,6 +88,9 @@ None.
 
 L<perl> 5.8.
 
+A C compiler.
+This module may happen to build with a C++ compiler as well, but don't rely on it, as no guarantee is made in this regard.
+
 L<threads> 1.07.
 
 L<XSLoader>.
@@ -103,7 +115,7 @@ Inspired by a question from TonyC on #p5p.
 
 =head1 COPYRIGHT & LICENSE
 
-Copyright 2009 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.