]> git.vpit.fr Git - perl/modules/VPIT-TestHelpers.git/commitdiff
Harden spawned threads against stray exit
authorVincent Pit <vince@profvince.com>
Mon, 20 Jul 2015 22:33:23 +0000 (19:33 -0300)
committerVincent Pit <vince@profvince.com>
Mon, 20 Jul 2015 22:33:23 +0000 (19:33 -0300)
The thread may call exit if malloc() fails at some point, which will cause
the whole process to crash. We prevent this by passing 'exit =>
"threads_only"' to the threads.pm import method, which requires threads.pm
version 1.37.

lib/VPIT/TestHelpers.pm

index 476ce9ba92e837164e5f775ac308ff2e205304e5..75ca21603ff4c794b51e3752f9ebf6f497c4c323 100644 (file)
@@ -600,6 +600,18 @@ C<spawn $coderef>
 
 =back
 
+=item *
+
+Notes :
+
+=over 8
+
+=item -
+
+C<< exit => 'threads_only' >> is passed to C<< threads->import >>.
+
+=back
+
 =back
 
 =cut
@@ -644,7 +656,9 @@ sub init_threads {
   die "$test_module was loaded too soon" if defined $test_module;
  }
 
- load_or_skip_all 'threads',         $force ? '0' : '1.67', [ ];
+ load_or_skip_all 'threads',         $force ? '0' : '1.67', [
+  exit => 'threads_only',
+ ];
  load_or_skip_all 'threads::shared', $force ? '0' : '1.14', [ ];
 
  diag "Threads testing forced by \$ENV{$force_var}" if $force;