]> git.vpit.fr Git - perl/modules/Variable-Magic.git/blobdiff - t/40-threads.t
Work around stray exits in t/40-threads.t and t/41-clone.t
[perl/modules/Variable-Magic.git] / t / 40-threads.t
index 9b2d2fa2c95fd59bfbf691ab9413cea011703006..151116bab11f44b9aebe5b25a1e6240380d8576a 100644 (file)
@@ -102,7 +102,8 @@ sub try {
    is $c, 1,  "get in thread $tid after dispell doesn't trigger magic";
   }
  }
- return; # Ugly if not here
+
+ return 1;
 }
 
 for my $dispell (1, 0) {
@@ -111,11 +112,16 @@ for my $dispell (1, 0) {
   $destroyed = 0;
  }
 
+ my $completed = 0;
+
  my @threads = map spawn(\&try, $dispell, $_), ('name') x 2, ('object') x 2;
- $_->join for @threads;
+ for my $thr (@threads) {
+  my $res = $thr->join;
+  $completed += $res if defined $res;
+ }
 
  {
   lock $destroyed;
-  is $destroyed, (1 - $dispell) * 4, 'destructors';
+  is $destroyed, (1 - $dispell) * $completed, 'destructors';
  }
 }