This is 0.06 v0.06
authorVincent Pit <vince@profvince.com>
Sun, 28 Sep 2014 15:48:51 +0000 (17:48 +0200)
committerVincent Pit <vince@profvince.com>
Sun, 28 Sep 2014 15:48:51 +0000 (17:48 +0200)
Changes
META.json
META.yml
README
lib/Thread/Cleanup.pm

diff --git a/Changes b/Changes
index 25ffe95..ef34aaf 100644 (file)
--- 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.
index 433962a..d6b28ac 100644 (file)
--- a/META.json
+++ b/META.json
@@ -4,7 +4,7 @@
       "Vincent Pit <perl@profvince.com>"
    ],
    "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"
 }
index 65f4cbb..6806ce3 100644 (file)
--- a/META.yml
+++ b/META.yml
@@ -3,31 +3,31 @@ abstract: 'Hook thread destruction.'
 author:
   - 'Vincent Pit <perl@profvince.com>'
 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 (file)
--- 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 { ... };
         &register($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.
index c09372c..3c2a5e8 100644 (file)
@@ -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);
 }