From: Jerry D. Hedden <jdhedden@cpan.org>
Date: Thu, 11 Oct 2007 09:12:21 +0000 (-0400)
Subject: Gentler theads test
X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=76eabe0aca153436b67ab32fc018825da54b3981;p=p5sagit%2Fp5-mst-13.2.git

Gentler theads test
From: "Jerry D. Hedden" <jdhedden@cpan.org>
Message-ID: <1ff86f510710110612j6ecaa1d5ta1a6f2a4e3e13ed3@mail.gmail.com>

p4raw-id: //depot/perl@32099
---

diff --git a/t/op/threads.t b/t/op/threads.t
index 8dadfb3..8907d80 100644
--- a/t/op/threads.t
+++ b/t/op/threads.t
@@ -148,8 +148,13 @@ EOI
 # run-time usage of newCONSTSUB (as done by the IO boot code) wasn't
 # thread-safe - got occasional coredumps or malloc corruption
 {
+    local $SIG{__WARN__} = sub {};   # Ignore any thread creation failure warnings
     my @t;
-    push @t, threads->create( sub { require IO }) for 1..100;
+    for (1..100) {
+        my $thr = threads->create( sub { require IO });
+        last if !defined($thr);      # Probably ran out of memory
+        push(@t, $thr);
+    }
     $_->join for @t;
     ok(1, '[perl #45053]');
 }