threads::shared 1.17
Jerry D. Hedden [Fri, 22 Feb 2008 16:31:02 +0000 (11:31 -0500)]
From: "Jerry D. Hedden" <jdhedden@cpan.org>
Message-ID: <1ff86f510802221331u48f85e8cg884c02a145dbee10@mail.gmail.com>

p4raw-id: //depot/perl@33360

ext/threads/shared/Makefile.PL
ext/threads/shared/shared.pm
ext/threads/shared/shared.xs
ext/threads/shared/t/0nothread.t
ext/threads/shared/t/disabled.t

index ac35f2a..b59d1c9 100755 (executable)
@@ -55,14 +55,13 @@ if (grep { $_ eq 'PERL_CORE=1' } @ARGV) {
 
     # Verify that a 'C' compiler is available
     if (! have_cc()) {
-        die("No 'C' compiler found to build 'threads'\n");
+        die("No 'C' compiler found to build 'threads::shared'\n");
     }
 
     push(@conditional_params, 'DEFINE' => '-DHAS_PPPORT_H',
                               'PREREQ_PM' => {
                                     'strict'            => 0,
                                     'warnings'          => 0,
-                                    'threads'           => 0,
                                     'Config'            => 0,
                                     'Carp'              => 0,
                                     'XSLoader'          => 0,
@@ -93,4 +92,22 @@ WriteMakefile(
     @conditional_params
 );
 
+# Additional 'make' targets
+sub MY::postamble
+{
+    return <<'_EXTRAS_';
+fixfiles:
+       @dos2unix `cat MANIFEST`
+       @$(CHMOD) 644 `cat MANIFEST`
+       @$(CHMOD) 755 examples/*.pl
+
+ppport:
+       @( cd /tmp; perl -e 'use Devel::PPPort; Devel::PPPort::WriteFile("ppport.h");' )
+       @if ! cmp -s ppport.h /tmp/ppport.h; then \
+           ( tkdiff ppport.h /tmp/ppport.h & ); \
+           perl /tmp/ppport.h; \
+       fi
+_EXTRAS_
+}
+
 # EOF
index 6734685..f2aaf27 100644 (file)
@@ -5,7 +5,7 @@ use 5.008;
 use strict;
 use warnings;
 
-our $VERSION = '1.15';
+our $VERSION = '1.17';
 my $XS_VERSION = $VERSION;
 $VERSION = eval $VERSION;
 
@@ -73,7 +73,7 @@ threads::shared - Perl extension for sharing data structures between threads
 
 =head1 VERSION
 
-This document describes threads::shared version 1.15
+This document describes threads::shared version 1.17
 
 =head1 SYNOPSIS
 
@@ -315,8 +315,11 @@ works on shared objects such that I<blessings> propagate across threads.
 
 =head1 NOTES
 
-threads::shared is designed to disable itself silently if threads are not
-available. If you want access to threads, you must C<use threads> before you
+L<threads::shared> is designed to disable itself silently if threads are not
+available.  This allows you to write modules and packages that can be used
+in both threaded and non-threaded applications.
+
+If you want access to threads, you must C<use threads> before you
 C<use threads::shared>.  L<threads> will emit a warning if you use it after
 L<threads::shared>.
 
@@ -368,7 +371,7 @@ L<threads::shared> Discussion Forum on CPAN:
 L<http://www.cpanforum.com/dist/threads-shared>
 
 Annotated POD for L<threads::shared>:
-L<http://annocpan.org/~JDHEDDEN/threads-shared-1.15/shared.pm>
+L<http://annocpan.org/~JDHEDDEN/threads-shared-1.17/shared.pm>
 
 Source repository:
 L<http://code.google.com/p/threads-shared/>
index 7decc4d..7043f29 100644 (file)
@@ -1033,9 +1033,15 @@ sharedsv_array_mg_free(pTHX_ SV *sv, MAGIC *mg)
  * This is called when perl is about to access an element of
  * the array -
  */
+#if PERL_VERSION >= 11
 int
 sharedsv_array_mg_copy(pTHX_ SV *sv, MAGIC* mg,
                        SV *nsv, const char *name, I32 namlen)
+#else
+int
+sharedsv_array_mg_copy(pTHX_ SV *sv, MAGIC* mg,
+                       SV *nsv, const char *name, int namlen)
+#endif
 {
     MAGIC *nmg = sv_magicext(nsv,mg->mg_obj,
                             toLOWER(mg->mg_type),&sharedsv_elem_vtbl,
index 0808277..f92dc75 100644 (file)
@@ -6,11 +6,6 @@ BEGIN {
         chdir 't';
         unshift @INC, '../lib';
     }
-    use Config;
-    if (! $Config{'useithreads'}) {
-        print("1..0 # Skip: Perl not compiled with 'useithreads'\n");
-        exit(0);
-    }
 }
 
 use Test::More (tests => 53);
index 8597f90..e5ffc61 100644 (file)
@@ -6,11 +6,6 @@ BEGIN {
         chdir 't';
         unshift @INC, '../lib';
     }
-    use Config;
-    if (! $Config{'useithreads'}) {
-        print("1..0 # Skip: Perl not compiled with 'useithreads'\n");
-        exit(0);
-    }
 }
 
 use Test;