Test that we can clone regexps into new threads, and fix the bug in
authorNicholas Clark <nick@ccl4.org>
Thu, 27 Dec 2007 20:33:55 +0000 (20:33 +0000)
committerDavid Mitchell <davem@iabyn.com>
Tue, 5 May 2009 22:18:41 +0000 (23:18 +0100)
change 32740 that this reveals. (Bug spotted by, and initial patch
from, Jerry D. Hedden.)

(Just the tests: cherry-picked from commit
f708cfc10f5ba0c4e1efa412ff01f165ea63f555)

p4raw-id: //depot/perl@32745

t/op/threads.t

index 5e3b1af..2c22f35 100644 (file)
@@ -16,7 +16,7 @@ BEGIN {
        exit 0;
      }
 
-     plan(11);
+     plan(13);
 }
 
 use strict;
@@ -159,6 +159,15 @@ EOI
     ok(1, '[perl #45053]');
 }
 
+sub matchit {
+    is (ref $_[1], "Regexp");
+    like ($_[0], $_[1]);
+}
+
+threads->new(\&matchit, "Pie", qr/pie/i)->join();
+
+# tests in threads don't get counted, so
+curr_test(curr_test() + 2);
 
 # the seen_evals field of a regexp was getting zeroed on clone, so
 # within a thread it didn't  know that a regex object contrained a 'safe'