summaryrefslogtreecommitdiff
path: root/ext/Thread/create.tx
diff options
context:
space:
mode:
Diffstat (limited to 'ext/Thread/create.tx')
-rw-r--r--ext/Thread/create.tx38
1 files changed, 38 insertions, 0 deletions
diff --git a/ext/Thread/create.tx b/ext/Thread/create.tx
new file mode 100644
index 0000000000..7cc8334eb4
--- /dev/null
+++ b/ext/Thread/create.tx
@@ -0,0 +1,38 @@
+BEGIN {
+ eval { require Config; import Config };
+ if ($@) {
+ print "1..0 # Skip: no Config\n";
+ exit(0);
+ }
+ if ($Config{extensions} !~ /\bThread\b/) {
+ print "1..0 # Skip: no use5005threads\n";
+ exit(0);
+ }
+}
+
+use Thread 'async';
+use Config;
+use Tie::Hash;
+
+sub start_here {
+ my $i;
+ print "In start_here with args: @_\n";
+ for ($i = 1; $i <= 5; $i++) {
+ print "start_here: $i\n";
+ sleep 1;
+ }
+}
+
+async {
+ tie my(%h), 'Tie::StdHash';
+ %h = %Config;
+ print "running on $h{archname}\n";
+};
+
+print "Starting new thread now\n";
+$t = new Thread \&start_here, qw(foo bar baz);
+print "Started thread $t\n";
+for ($count = 1; $count <= 5; $count++) {
+ print "main: $count\n";
+ sleep 1;
+}