From: Jerry D. Hedden Date: Fri, 22 Feb 2008 16:31:02 +0000 (-0500) Subject: threads::shared 1.17 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=33d16ee73507a82920495bd827b79f06d56e1cb4;p=p5sagit%2Fp5-mst-13.2.git threads::shared 1.17 From: "Jerry D. Hedden" Message-ID: <1ff86f510802221331u48f85e8cg884c02a145dbee10@mail.gmail.com> p4raw-id: //depot/perl@33360 --- diff --git a/ext/threads/shared/Makefile.PL b/ext/threads/shared/Makefile.PL index ac35f2a..b59d1c9 100755 --- a/ext/threads/shared/Makefile.PL +++ b/ext/threads/shared/Makefile.PL @@ -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 diff --git a/ext/threads/shared/shared.pm b/ext/threads/shared/shared.pm index 6734685..f2aaf27 100644 --- a/ext/threads/shared/shared.pm +++ b/ext/threads/shared/shared.pm @@ -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 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 before you +L 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 before you C. L will emit a warning if you use it after L. @@ -368,7 +371,7 @@ L Discussion Forum on CPAN: L Annotated POD for L: -L +L Source repository: L diff --git a/ext/threads/shared/shared.xs b/ext/threads/shared/shared.xs index 7decc4d..7043f29 100644 --- a/ext/threads/shared/shared.xs +++ b/ext/threads/shared/shared.xs @@ -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, diff --git a/ext/threads/shared/t/0nothread.t b/ext/threads/shared/t/0nothread.t index 0808277..f92dc75 100644 --- a/ext/threads/shared/t/0nothread.t +++ b/ext/threads/shared/t/0nothread.t @@ -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); diff --git a/ext/threads/shared/t/disabled.t b/ext/threads/shared/t/disabled.t index 8597f90..e5ffc61 100644 --- a/ext/threads/shared/t/disabled.t +++ b/ext/threads/shared/t/disabled.t @@ -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;