Revision history for Perl extension threads.
+1.49 Fri Nov 3 08:33:28 EST 2006
+ - Fix a warning message
+
+1.48 Thu Nov 2 12:33:22 EST 2006
+ - Fix for segfault during thread destruction
+
1.47 Mon Oct 30 16:02:53 EST 2006
- Fix t/thread.t crash under Win32
- Test multiple embedded Perl support
-threads version 1.47
+threads version 1.49
====================
This module exposes interpreter threads to the Perl level.
ok(! defined($rc), 'Exited: threads->exit()');
-run_perl(prog => 'use threads 1.47;' .
+run_perl(prog => 'use threads 1.49;' .
'threads->exit(86);' .
'exit(99);',
nolib => ($ENV{PERL_CORE}) ? 0 : 1,
ok(! defined($rc), 'Exited: $thr->set_thread_exit_only');
-run_perl(prog => 'use threads 1.47 qw(exit thread_only);' .
+run_perl(prog => 'use threads 1.49 qw(exit thread_only);' .
'threads->create(sub { exit(99); })->join();' .
'exit(86);',
nolib => ($ENV{PERL_CORE}) ? 0 : 1,
is($?>>8, 86, "'use threads 'exit' => 'thread_only'");
-my $out = run_perl(prog => 'use threads 1.47;' .
+my $out = run_perl(prog => 'use threads 1.49;' .
'threads->create(sub {' .
' exit(99);' .
'})->join();' .
like($out, '1 finished and unjoined', "exit(status) in thread");
-$out = run_perl(prog => 'use threads 1.47 qw(exit thread_only);' .
+$out = run_perl(prog => 'use threads 1.49 qw(exit thread_only);' .
'threads->create(sub {' .
' threads->set_thread_exit_only(0);' .
' exit(99);' .
like($out, '1 finished and unjoined', "set_thread_exit_only(0)");
-run_perl(prog => 'use threads 1.47;' .
+run_perl(prog => 'use threads 1.49;' .
'threads->create(sub {' .
' $SIG{__WARN__} = sub { exit(99); };' .
' die();' .
# bugid #24165
-run_perl(prog => 'use threads 1.47;' .
+run_perl(prog => 'use threads 1.49;' .
'sub a{threads->create(shift)} $t = a sub{};' .
'$t->tid; $t->join; $t->tid',
nolib => ($ENV{PERL_CORE}) ? 0 : 1,
use strict;
use warnings;
-our $VERSION = '1.47';
+our $VERSION = '1.49';
my $XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
=head1 VERSION
-This document describes threads version 1.47
+This document describes threads version 1.49
=head1 SYNOPSIS
L<http://www.cpanforum.com/dist/threads>
Annotated POD for L<threads>:
-L<http://annocpan.org/~JDHEDDEN/threads-1.47/threads.pm>
+L<http://annocpan.org/~JDHEDDEN/threads-1.49/threads.pm>
L<threads::shared>, L<perlthrtut>
/* Remove from circular list of threads */
MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
+ if ((! thread->next || ! thread->prev) && ckWARN_d(WARN_INTERNAL)) {
+ Perl_warner(aTHX_ packWARN(WARN_INTERNAL),
+ "Inconsistency in internal threads list found "
+ "during destruction of thread %" UVuf, thread->tid);
+ }
if (thread->next) thread->next->prev = thread->prev;
if (thread->prev) thread->prev->next = thread->next;
thread->next = NULL;