NAME
Thread::Cleanup - Hook thread destruction.
VERSION
Version 0.05
SYNOPSIS
use Thread::Cleanup;
use threads;
Thread::Cleanup::register {
my $tid = threads->tid();
warn "Thread $tid finished\n";
};
DESCRIPTION
This module allows you to hook thread destruction without fiddling with
the internals of threads.
It acts globally on all the threads that may spawn anywhere in your
program, with the exception of the main thread.
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,
* it will always be called before the joining for joined threads ;
* 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 ;
* it won't trigger for the destruction of the main thread.
EXPORT
None.
DEPENDENCIES
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.
threads 1.07.
XSLoader.
AUTHOR
Vincent Pit, "<perl at profvince.com>", <http://www.profvince.com>.
BUGS
Please report any bugs or feature requests to "bug-thread-cleanup at
rt.cpan.org", or through the web interface at
<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Thread-Cleanup>. I will
be notified, and then you'll automatically be notified of progress on
your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Thread::Cleanup
ACKNOWLEDGEMENTS
Inspired by a question from TonyC on #p5p.
COPYRIGHT & LICENSE
Copyright 2009,2010,2013 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.