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.
"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"
],
"url" : "http://git.profvince.com/?p=perl%2Fmodules%2FThread-Cleanup.git"
}
},
- "version" : "0.05"
+ "version" : "0.06"
}
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'
Thread::Cleanup - Hook thread destruction.
VERSION
- Version 0.05
+ Version 0.06
SYNOPSIS
use Thread::Cleanup;
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.
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.