New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[PATCH] Upgrade to threads 2.12 #15788
Comments
From @jdheddenThis is a bug report for perl from jdhedden@cpan.org, The attached patch upgrades 'threads' to version 2.12. Bug fix to properly wrap a Clang macro. No functional changes. This is similar to the fix for threads::shared to address this Flags: Site configuration information for perl 5.24.1: Configured by Debian Project at Sat Nov 26 21:12:44 UTC 2016. Summary of my perl5 (revision 5 version 24 subversion 1) configuration: Locally applied patches: @INC for perl 5.24.1: Environment for perl 5.24.1: |
From @jdhedden0001-Upgrade-to-threads-2.12.patchFrom 1ce0295937a8f93670c3f772bf03779c1cbc74c6 Mon Sep 17 00:00:00 2001
From: jdhedden <jdhedden@cpan.org>
Date: Sat, 31 Dec 2016 12:51:35 -0500
Subject: [PATCH] Upgrade to threads 2.12
---
Porting/Maintainers.pl | 2 +-
dist/threads/lib/threads.pm | 4 ++--
dist/threads/t/exit.t | 10 +++++-----
dist/threads/t/thread.t | 2 +-
dist/threads/threads.xs | 2 ++
5 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index 007e8d0570..a3a75005fa 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -1245,7 +1245,7 @@ use File::Glob qw(:case);
},
'threads' => {
- 'DISTRIBUTION' => 'JDHEDDEN/threads-2.09.tar.gz',
+ 'DISTRIBUTION' => 'JDHEDDEN/threads-2.12.tar.gz',
'FILES' => q[dist/threads],
'EXCLUDED' => [
qr{^examples/},
diff --git a/dist/threads/lib/threads.pm b/dist/threads/lib/threads.pm
index 9217439b8a..14bf92040f 100644
--- a/dist/threads/lib/threads.pm
+++ b/dist/threads/lib/threads.pm
@@ -5,7 +5,7 @@ use 5.008;
use strict;
use warnings;
-our $VERSION = '2.10';
+our $VERSION = '2.12';
my $XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -134,7 +134,7 @@ threads - Perl interpreter-based threads
=head1 VERSION
-This document describes threads version 2.09
+This document describes threads version 2.12
=head1 WARNING
diff --git a/dist/threads/t/exit.t b/dist/threads/t/exit.t
index 9e9b7f5b5f..c50bf98e4d 100644
--- a/dist/threads/t/exit.t
+++ b/dist/threads/t/exit.t
@@ -48,7 +48,7 @@ my $rc = $thr->join();
ok(! defined($rc), 'Exited: threads->exit()');
-run_perl(prog => 'use threads 2.09;' .
+run_perl(prog => 'use threads 2.12;' .
'threads->exit(86);' .
'exit(99);',
nolib => ($ENV{PERL_CORE}) ? 0 : 1,
@@ -98,7 +98,7 @@ $rc = $thr->join();
ok(! defined($rc), 'Exited: $thr->set_thread_exit_only');
-run_perl(prog => 'use threads 2.09 qw(exit thread_only);' .
+run_perl(prog => 'use threads 2.12 qw(exit thread_only);' .
'threads->create(sub { exit(99); })->join();' .
'exit(86);',
nolib => ($ENV{PERL_CORE}) ? 0 : 1,
@@ -108,7 +108,7 @@ run_perl(prog => 'use threads 2.09 qw(exit thread_only);' .
is($?>>8, 86, "'use threads 'exit' => 'thread_only'");
}
-my $out = run_perl(prog => 'use threads 2.09;' .
+my $out = run_perl(prog => 'use threads 2.12;' .
'threads->create(sub {' .
' exit(99);' .
'});' .
@@ -124,7 +124,7 @@ my $out = run_perl(prog => 'use threads 2.09;' .
like($out, qr/1 finished and unjoined/, "exit(status) in thread");
-$out = run_perl(prog => 'use threads 2.09 qw(exit thread_only);' .
+$out = run_perl(prog => 'use threads 2.12 qw(exit thread_only);' .
'threads->create(sub {' .
' threads->set_thread_exit_only(0);' .
' exit(99);' .
@@ -141,7 +141,7 @@ $out = run_perl(prog => 'use threads 2.09 qw(exit thread_only);' .
like($out, qr/1 finished and unjoined/, "set_thread_exit_only(0)");
-run_perl(prog => 'use threads 2.09;' .
+run_perl(prog => 'use threads 2.12;' .
'threads->create(sub {' .
' $SIG{__WARN__} = sub { exit(99); };' .
' die();' .
diff --git a/dist/threads/t/thread.t b/dist/threads/t/thread.t
index 4bd96d0c60..466fb13b1b 100644
--- a/dist/threads/t/thread.t
+++ b/dist/threads/t/thread.t
@@ -161,7 +161,7 @@ package main;
# bugid #24165
-run_perl(prog => 'use threads 2.09;' .
+run_perl(prog => 'use threads 2.12;' .
'sub a{threads->create(shift)} $t = a sub{};' .
'$t->tid; $t->join; $t->tid',
nolib => ($ENV{PERL_CORE}) ? 0 : 1,
diff --git a/dist/threads/threads.xs b/dist/threads/threads.xs
index 56e61ea8eb..579fff37a8 100644
--- a/dist/threads/threads.xs
+++ b/dist/threads/threads.xs
@@ -1016,8 +1016,10 @@ S_ithread_create(
MUTEX_UNLOCK(&my_pool->create_destruct_mutex);
return (thread);
+#if defined(__clang__) || defined(__clang)
CLANG_DIAG_IGNORE(-Wthread-safety);
/* warning: mutex 'thread->mutex' is not held on every path through here [-Wthread-safety-analysis] */
+#endif
}
#if defined(__clang__) || defined(__clang)
CLANG_DIAG_RESTORE;
--
2.11.0
|
From @jkeenanOn Sat, 31 Dec 2016 17:53:22 GMT, jdhedden@cpan.org wrote:
Thanks, pushed to blead in commit f566343. -- |
The RT System itself - Status changed from 'new' to 'open' |
@jkeenan - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#130469 (status was 'resolved')
Searchable as RT130469$
The text was updated successfully, but these errors were encountered: