From: Peter Rabbitson Date: Sun, 19 Dec 2010 01:15:39 +0000 (+0000) Subject: Require bugfixed Class::XSAccessor X-Git-Tag: v0.10002~2 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=b36cd2595cc422d4e5bb0d5e905acfd7d4c1fd70;p=p5sagit%2FClass-Accessor-Grouped.git Require bugfixed Class::XSAccessor --- diff --git a/Changes b/Changes index 1f9b72c..3cb9156 100644 --- a/Changes +++ b/Changes @@ -2,6 +2,7 @@ Revision history for Class::Accessor::Grouped. - Fix grave bug of XS-enabled simple accessors clobbering an existing 'around' overlay installed in the same method slot + - Require bugfixed XSAccessor, remove Win32 caveat 0.10001 Sun Dec 12 03:17:05 2010 - Fix an ActiveState Win32 incompatibility diff --git a/Makefile.PL b/Makefile.PL index 91fe20e..996853a 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -16,8 +16,8 @@ requires 'Class::Inspector'; if (can_cc or $Module::Install::AUTHOR) { requires 'Sub::Name' => '0.05'; - requires 'Class::XSAccessor' => '1.06' - if ($^O ne 'MSWin32' and $] > '5.008'); + requires 'Class::XSAccessor' => '1.11' + if $] > '5.008'; } test_requires 'Test::More' => '0.94'; diff --git a/lib/Class/Accessor/Grouped.pm b/lib/Class/Accessor/Grouped.pm index 8bbce64..aea38c2 100644 --- a/lib/Class/Accessor/Grouped.pm +++ b/lib/Class/Accessor/Grouped.pm @@ -12,7 +12,7 @@ $VERSION = eval $VERSION if $VERSION =~ /_/; # numify for warning-free dev relea # the Makefile.PL as well our $__minimum_xsa_version; BEGIN { - $__minimum_xsa_version = '1.06'; + $__minimum_xsa_version = '1.11'; } our $USE_XS; @@ -410,8 +410,7 @@ To provide total flexibility L calls methods internally while performing get/set actions, which makes it noticeably slower than similar modules. To compensate, this module will automatically use the insanely fast L to generate the C-group -accessors, if L<< Class::XSAccessor >= 1.06|Class::XSAccessor >> is -available on your system. +accessors if this module is available on your system. =head2 Benchmark @@ -454,12 +453,6 @@ an object, invoke a simple accessor on that object, and B manipulate the symbol table to install a C override - you get to keep all the pieces. -While L works surprisingly well for the amount of black -magic it tries to pull off, it's still black magic. At present (Sep 2010) -the module is known to have problems on Windows under heavy thread-stress -(e.g. Win32+Apache+mod_perl). Thus for the time being L -will not be used automatically if you are running under C. - =head1 AUTHORS Matt S. Trout @@ -553,12 +546,9 @@ BEGIN { } # Autodetect unless flag supplied -# Class::XSAccessor is segfaulting on win32, in some -# esoteric heavily-threaded scenarios -# Win32 users can set $USE_XS/CAG_USE_XS to try to use it anyway my $xsa_autodetected; if (! defined $USE_XS) { - $USE_XS = (!__CAG_NO_CXSA and $^O ne 'MSWin32') ? 1 : 0; + $USE_XS = __CAG_NO_CXSA ? 0 : 1; $xsa_autodetected++; }