dev-perl/IO-Event: Add patch by Niko Tyni to fix tests
authorAndreas K. Hüttel <dilfridge@gentoo.org>
Mon, 21 Oct 2019 16:40:01 +0000 (18:40 +0200)
committerAndreas K. Hüttel <dilfridge@gentoo.org>
Mon, 21 Oct 2019 16:40:01 +0000 (18:40 +0200)
Closes: https://bugs.gentoo.org/659600
Package-Manager: Portage-2.3.76, Repoman-2.3.17
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
dev-perl/IO-Event/IO-Event-0.813.0-r1.ebuild
dev-perl/IO-Event/files/IO-Event-0.813.0-forked2.t.patch [new file with mode: 0644]

index c8d60026e9073486e5dc87e63b2a034857e6554d..47bc74acf357d5121940bfcc707e97386eb9b82f 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -21,3 +21,5 @@ RDEPEND="
        virtual/perl-Time-HiRes
 "
 DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-forked2.t.patch" )
diff --git a/dev-perl/IO-Event/files/IO-Event-0.813.0-forked2.t.patch b/dev-perl/IO-Event/files/IO-Event-0.813.0-forked2.t.patch
new file mode 100644 (file)
index 0000000..0691b51
--- /dev/null
@@ -0,0 +1,35 @@
+From e11dc91080151bb59d73e72c3c0a3409c1b999ef Mon Sep 17 00:00:00 2001
+From: Niko Tyni <ntyni@debian.org>
+Date: Sat, 12 Dec 2015 11:33:34 +0200
+Subject: [PATCH] Fix undeterministic test failures in t/forked2.t
+
+The parent process may get both the eof event from an old connection
+and the connect event from a new connection at the same time, and in an
+unpredictable order. If the connect event comes first, the handler may
+decrement the test counter to zero and make the eof handler think the
+testing is already over.
+
+Having the child synchronize on the eof event before making a new
+connection fixes this race.
+
+Bug-Debian: https://bugs.debian.org/730908
+Bug: https://rt.cpan.org/Ticket/Display.html?id=92200
+---
+ t/forked.tt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/t/forked.tt b/t/forked.tt
+index e56c7fa..0d9ce18 100755
+--- a/t/forked.tt
++++ b/t/forked.tt
+@@ -265,6 +265,7 @@ if ($child = fork()) {
+               }
+               print "# CHILD closing\n";
+               close($s);
++              syncto("e");
+       }
+ } else {
+       die "fork: $!";
+-- 
+2.6.2
+