Compare commits

...

No commits in common. 'c9' and 'i8c' have entirely different histories.
c9 ... i8c

@ -1,82 +0,0 @@
From a0eaa97e59b5b2ad8e2a83f8509da3787ff4b4bf Mon Sep 17 00:00:00 2001
From: Jitka Plesnikova <jplesnik@redhat.com>
Date: Thu, 24 May 2018 11:32:01 +0200
Subject: [PATCH] Upgrade to 2.22
---
lib/threads.pm | 29 ++++++++++++++++++++++++++++-
threads.xs | 4 ++++
2 files changed, 32 insertions(+), 1 deletion(-)
diff --git a/lib/threads.pm b/lib/threads.pm
index 2eb926a..1b99567 100644
--- a/lib/threads.pm
+++ b/lib/threads.pm
@@ -5,7 +5,7 @@ use 5.008;
use strict;
use warnings;
-our $VERSION = '2.21'; # remember to update version in POD!
+our $VERSION = '2.22'; # remember to update version in POD!
my $XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -937,6 +937,33 @@ C<chdir()>) will affect all the threads in the application.
On MSWin32, each thread maintains its own the current working directory
setting.
+=item Locales
+
+Prior to Perl 5.28, locales could not be used with threads, due to various
+race conditions. Starting in that release, on systems that implement
+thread-safe locale functions, threads can be used, with some caveats.
+This includes Windows starting with Visual Studio 2005, and systems compatible
+with POSIX 2008. See L<perllocale/Multi-threaded operation>.
+
+Each thread (except the main thread) is started using the C locale. The main
+thread is started like all other Perl programs; see L<perllocale/ENVIRONMENT>.
+You can switch locales in any thread as often as you like.
+
+If you want to inherit the parent thread's locale, you can, in the parent, set
+a variable like so:
+
+ $foo = POSIX::setlocale(LC_ALL, NULL);
+
+and then pass to threads->create() a sub that closes over C<$foo>. Then, in
+the child, you say
+
+ POSIX::setlocale(LC_ALL, $foo);
+
+Or you can use the facilities in L<threads::shared> to pass C<$foo>;
+or if the environment hasn't changed, in the child, do
+
+ POSIX::setlocale(LC_ALL, "");
+
=item Environment variables
Currently, on all platforms except MSWin32, all I<system> calls (e.g., using
diff --git a/threads.xs b/threads.xs
index 4e9e31f..3da9165 100644
--- a/threads.xs
+++ b/threads.xs
@@ -580,6 +580,8 @@ S_ithread_run(void * arg)
S_set_sigmask(&thread->initial_sigmask);
#endif
+ thread_locale_init();
+
PL_perl_destruct_level = 2;
{
@@ -665,6 +667,8 @@ S_ithread_run(void * arg)
MUTEX_UNLOCK(&thread->mutex);
MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
+ thread_locale_term();
+
/* Exit application if required */
if (exit_app) {
(void)S_jmpenv_run(aTHX_ 2, thread, NULL, &exit_app, &exit_code);
--
2.14.3

@ -1,103 +0,0 @@
From 0bb2d0b00e011f1d77d1766fac4777c6bc376af7 Mon Sep 17 00:00:00 2001
From: Jitka Plesnikova <jplesnik@redhat.com>
Date: Mon, 1 Jun 2020 13:23:16 +0200
Subject: [PATCH] Upgrade to 2.25
---
lib/threads.pm | 22 +++++++++++-----------
threads.xs | 2 +-
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/lib/threads.pm b/lib/threads.pm
index 1b99567..ee201a2 100644
--- a/lib/threads.pm
+++ b/lib/threads.pm
@@ -5,7 +5,7 @@ use 5.008;
use strict;
use warnings;
-our $VERSION = '2.22'; # remember to update version in POD!
+our $VERSION = '2.25'; # remember to update version in POD!
my $XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -134,13 +134,13 @@ threads - Perl interpreter-based threads
=head1 VERSION
-This document describes threads version 2.21
+This document describes threads version 2.25
=head1 WARNING
The "interpreter-based threads" provided by Perl are not the fast, lightweight
system for multitasking that one might expect or hope for. Threads are
-implemented in a way that make them easy to misuse. Few people know how to
+implemented in a way that makes them easy to misuse. Few people know how to
use them correctly or will be able to provide help.
The use of interpreter-based threads in perl is officially
@@ -914,7 +914,7 @@ C<-E<gt>import()>) after any threads are started, and in such a way that no
other threads are started afterwards.
If the above does not work, or is not adequate for your application, then file
-a bug report on L<http://rt.cpan.org/Public/> against the problematic module.
+a bug report on L<https://rt.cpan.org/Public/> against the problematic module.
=item Memory consumption
@@ -1090,7 +1090,7 @@ determine whether your system supports it.
In prior perl versions, spawning threads with open directory handles would
crash the interpreter.
-L<[perl #75154]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75154>
+L<[perl #75154]|https://rt.perl.org/rt3/Public/Bug/Display.html?id=75154>
=item Detached threads and global destruction
@@ -1118,8 +1118,8 @@ unreferenced scalars. However, such warnings are harmless, and may safely be
ignored.
You can search for L<threads> related bug reports at
-L<http://rt.cpan.org/Public/>. If needed submit any new bugs, problems,
-patches, etc. to: L<http://rt.cpan.org/Public/Dist/Display.html?Name=threads>
+L<https://rt.cpan.org/Public/>. If needed submit any new bugs, problems,
+patches, etc. to: L<https://rt.cpan.org/Public/Dist/Display.html?Name=threads>
=back
@@ -1137,14 +1137,14 @@ L<https://github.com/Dual-Life/threads>
L<threads::shared>, L<perlthrtut>
-L<http://www.perl.com/pub/a/2002/06/11/threads.html> and
-L<http://www.perl.com/pub/a/2002/09/04/threads.html>
+L<https://www.perl.com/pub/a/2002/06/11/threads.html> and
+L<https://www.perl.com/pub/a/2002/09/04/threads.html>
Perl threads mailing list:
-L<http://lists.perl.org/list/ithreads.html>
+L<https://lists.perl.org/list/ithreads.html>
Stack size discussion:
-L<http://www.perlmonks.org/?node_id=532956>
+L<https://www.perlmonks.org/?node_id=532956>
Sample code in the I<examples> directory of this distribution on CPAN.
diff --git a/threads.xs b/threads.xs
index 3da9165..ab64dc0 100644
--- a/threads.xs
+++ b/threads.xs
@@ -676,7 +676,7 @@ S_ithread_run(void * arg)
}
/* At this point, the interpreter may have been freed, so call
- * free in the the context of of the 'main' interpreter which
+ * free in the context of the 'main' interpreter which
* can't have been freed due to the veto_cleanup mechanism.
*/
aTHX = MY_POOL.main_thread.interp;
--
2.25.4

@ -1,16 +1,11 @@
%global base_version 2.21
Name: perl-threads Name: perl-threads
Epoch: 1 Epoch: 1
Version: 2.25 Version: 2.21
Release: 460%{?dist} Release: 2%{?dist}
Summary: Perl interpreter-based threads Summary: Perl interpreter-based threads
License: GPL+ or Artistic License: GPL+ or Artistic
URL: https://metacpan.org/release/threads URL: http://search.cpan.org/dist/threads/
Source0: https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN/threads-%{base_version}.tar.gz Source0: http://search.cpan.org/CPAN/authors/id/J/JD/JDHEDDEN/threads-%{version}.tar.gz
# Unbundled from perl 5.28.0
Patch0: threads-2.21-Upgrade-to-2.22.patch
# Unbundled from perl 5.32.0
Patch1: threads-2.21-Upgrade-to-2.25.patch
BuildRequires: coreutils BuildRequires: coreutils
BuildRequires: findutils BuildRequires: findutils
BuildRequires: gcc BuildRequires: gcc
@ -28,7 +23,6 @@ BuildRequires: perl(Carp)
BuildRequires: perl(overload) BuildRequires: perl(overload)
BuildRequires: perl(XSLoader) BuildRequires: perl(XSLoader)
# Tests only: # Tests only:
BuildRequires: perl(blib)
BuildRequires: perl(Cwd) BuildRequires: perl(Cwd)
BuildRequires: perl(ExtUtils::testlib) BuildRequires: perl(ExtUtils::testlib)
BuildRequires: perl(File::Path) BuildRequires: perl(File::Path)
@ -55,23 +49,19 @@ between threads.
This threading model has been deprecated, and was removed as of Perl 5.10.0.) This threading model has been deprecated, and was removed as of Perl 5.10.0.)
%prep %prep
%setup -q -n threads-%{base_version} %setup -q -n threads-%{version}
%patch0 -p1
%patch1 -p1
chmod -x examples/* chmod -x examples/*
%build %build
perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 OPTIMIZE="$RPM_OPT_FLAGS" perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 OPTIMIZE="$RPM_OPT_FLAGS"
%{make_build} make %{?_smp_mflags}
%install %install
%{make_install} make pure_install DESTDIR=$RPM_BUILD_ROOT
find $RPM_BUILD_ROOT -type f -name '*.bs' -size 0 -delete find $RPM_BUILD_ROOT -type f -name '*.bs' -size 0 -delete
%{_fixperms} $RPM_BUILD_ROOT/* %{_fixperms} $RPM_BUILD_ROOT/*
%check %check
unset GIT_DIR PERL_BUILD_PACKAGING PERL_CORE PERL_RUNPERL_DEBUG \
PERL5_ITHREADS_STACK_SIZE RUN_MAINTAINER_TESTS
make test make test
%files %files
@ -81,48 +71,8 @@ make test
%{_mandir}/man3/* %{_mandir}/man3/*
%changelog %changelog
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1:2.25-460 * Wed Jul 26 2023 MSVSphere Packaging Team <packager@msvsphere.ru> - 1:2.21-2
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags - Rebuilt for MSVSphere 8.8
Related: rhbz#1991688
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1:2.25-459
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.25-458
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.25-457
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jun 22 2020 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.25-456
- Upgrade to 2.25 as provided in perl-5.32.0
* Thu Feb 06 2020 Petr Pisar <ppisar@redhat.com> - 1:2.22-442
- Specify all dependencies
* Thu Feb 06 2020 Tom Stellard <tstellar@redhat.com> - 1:2.22-441
- Spec file cleanups: Use make_build and make_install macros
- https://docs.fedoraproject.org/en-US/packaging-guidelines/#_parallel_make
- https://fedoraproject.org/wiki/Perl/Tips#ExtUtils::MakeMake
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.22-440
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.22-439
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu May 30 2019 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.22-438
- Increase release to favour standalone package
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.22-418
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.22-417
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Jun 27 2018 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.22-416
- Upgrade to 2.22 as provided in perl-5.28.0
- Perl 5.28 rebuild
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.21-2 * Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.21-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

Loading…
Cancel
Save