From: Artur Bergman Date: Wed, 1 May 2002 19:36:33 +0000 (+0000) Subject: Fix emulation case when loading both Thread and threads::shared X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=e7b4e24c151b097035e69f04d0511ab4860e86db;p=p5sagit%2Fp5-mst-13.2.git Fix emulation case when loading both Thread and threads::shared would get awkward. p4raw-id: //depot/perl@16317 --- diff --git a/lib/Thread.pm b/lib/Thread.pm index fc39769..7173ac2 100644 --- a/lib/Thread.pm +++ b/lib/Thread.pm @@ -19,7 +19,7 @@ our(@ISA, @EXPORT, @EXPORT_OK); BEGIN { if ($ithreads) { - @EXPORT = qw(share cond_wait cond_broadcast cond_signal unlock) + @EXPORT = qw(cond_wait cond_broadcast cond_signal unlock) } elsif ($othreads) { @EXPORT_OK = qw(cond_signal cond_broadcast cond_wait); } @@ -318,17 +318,17 @@ BEGIN { Carp::croak("This Perl has both ithreads and 5005threads (serious malconfiguration)"); } XSLoader::load 'threads'; - for my $m (qw(new join detach yield self tid equal)) { + for my $m (qw(new join detach yield self tid equal list)) { no strict 'refs'; *{"Thread::$m"} = \&{"threads::$m"}; } - XSLoader::load 'threads::shared'; - for my $m (qw(cond_signal cond_broadcast cond_wait unlock share)) { + require 'threads/shared.pm'; + for my $m (qw(cond_signal cond_broadcast cond_wait unlock)) { no strict 'refs'; *{"Thread::$m"} = \&{"threads::shared::${m}_enabled"}; } # trying to unimplement eval gives redefined warning - unimplement(qw(list done flags)); + unimplement(qw(done flags)); } elsif ($othreads) { XSLoader::load 'Thread'; unimplement(qw(unlock));