From: Artur Bergman <sky@nanisky.com>
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));