]>
git.vpit.fr Git - perl/modules/indirect.git/log
Vincent Pit [Mon, 6 Apr 2015 18:45:46 +0000 (15:45 -0300)]
Reference-count global setup/teardown
This fixes surprises like this one : module loaded in thread 1, then in
thread 2, then thread 1 ends and now the module does not work anymore in
thread 2 (even though it should).
Vincent Pit [Mon, 6 Apr 2015 17:11:10 +0000 (14:11 -0300)]
Handle undef properly for failure diagnostics in t/09-load-threads.t
Vincent Pit [Mon, 6 Apr 2015 16:30:10 +0000 (13:30 -0300)]
Make sure the module is loaded in the first thread first
Vincent Pit [Mon, 6 Apr 2015 15:47:40 +0000 (12:47 -0300)]
Improve diagnostics in t/09-load-threads.t in case of failure
Vincent Pit [Thu, 2 Apr 2015 19:50:16 +0000 (16:50 -0300)]
This is 0.34
Vincent Pit [Tue, 31 Mar 2015 20:38:48 +0000 (17:38 -0300)]
Also point to tomc's FMTEYEWTK post in POD
This fixes RT #100068.
Vincent Pit [Tue, 31 Mar 2015 20:06:12 +0000 (17:06 -0300)]
Improve scheduling for the parallel loading test
Vincent Pit [Tue, 31 Mar 2015 19:15:40 +0000 (16:15 -0300)]
Keep track of which thread-local contexts have been initialized
If you have two threads that are run in parallel, and the the module is
first loaded in one and then in the other, then our check functions might
be called in the second thread before the module's boot function is
executed. This is bad because the boot function is needed to initialize the
thread-local context, and this context is needed by the check functions.
To fix this, we keep track of which contexts were initialized thanks to a
refcounted pointer table.
Vincent Pit [Tue, 31 Mar 2015 19:08:50 +0000 (16:08 -0300)]
Make sure MULTIPLICITY builds set PERL_IMPLICIT_CONTEXT
Vincent Pit [Tue, 31 Mar 2015 17:25:53 +0000 (14:25 -0300)]
Add a couple of missing volatile qualifiers
Vincent Pit [Tue, 31 Mar 2015 12:35:47 +0000 (09:35 -0300)]
Add POSIX to build requires
Vincent Pit [Tue, 24 Mar 2015 19:54:30 +0000 (16:54 -0300)]
Update the ActivePerl/gcc-3.4 hack for EUMM 7.04
Starting from this version, PERL_ARCHIVE is quoted so we can no longer set
it to the empty string. Instead, we remove all occurrences of PERL_ARCHIVE
in the linking step section of the Makefile, which is OK since we specify
the perl DLL in other variables. This new technique is still valid for
older versions of EUMM.
Vincent Pit [Tue, 24 Mar 2015 15:35:40 +0000 (12:35 -0300)]
Bump copyright year
Vincent Pit [Tue, 24 Mar 2015 15:35:21 +0000 (12:35 -0300)]
Thoroughly test module loading in threads
Vincent Pit [Tue, 24 Mar 2015 15:34:23 +0000 (12:34 -0300)]
Revamp the setup boot logic
This will solve crashes when the module is loaded simultaneously in
different threads.
Vincent Pit [Tue, 24 Mar 2015 15:24:57 +0000 (12:24 -0300)]
Replace STATIC by static
Vincent Pit [Tue, 24 Mar 2015 15:23:04 +0000 (12:23 -0300)]
Protect run_perl() tests against old relocated perls
Vincent Pit [Tue, 24 Mar 2015 15:13:15 +0000 (12:13 -0300)]
Port threads tests to the new VPIT::TestHelpers interface
The new 'force threads test' environment variable is
PERL_FORCE_TEST_THREADS.
Vincent Pit [Tue, 24 Mar 2015 15:07:54 +0000 (12:07 -0300)]
Update VPIT::TestHelpers to
4eeb5afc
Vincent Pit [Thu, 12 Mar 2015 14:03:57 +0000 (11:03 -0300)]
Update VPIT::TestHelpers to
3c878c7c
Vincent Pit [Fri, 6 Feb 2015 13:38:38 +0000 (14:38 +0100)]
Really be compatible with the OP_PARENT feature
OP_SIBLING() has been renamed to OpSIBLING() in perl 5.21.7.
Vincent Pit [Mon, 29 Sep 2014 20:29:19 +0000 (22:29 +0200)]
This is 0.33
Vincent Pit [Mon, 29 Sep 2014 20:02:18 +0000 (22:02 +0200)]
Do nothing after that the thread local storage has been freed
This de facto disables the pragma for code eval'd during global
destruction of a thread or a pseudo-fork.
Vincent Pit [Mon, 29 Sep 2014 16:30:41 +0000 (18:30 +0200)]
Use the new CLONE_PARAMS API with perl 5.13.2
Vincent Pit [Mon, 29 Sep 2014 15:19:14 +0000 (17:19 +0200)]
Nullify thread local storage entries when they are freed
This makes possible problems easier to reproduce.
Vincent Pit [Mon, 29 Sep 2014 14:13:13 +0000 (16:13 +0200)]
Don't cleanup thread local storage before END blocks are executed
reap.h is no longer necessary.
This fixes RT #99083.
Vincent Pit [Sun, 21 Sep 2014 20:15:52 +0000 (22:15 +0200)]
This is 0.32
Vincent Pit [Sun, 21 Sep 2014 20:00:49 +0000 (22:00 +0200)]
Bump copyright year
Vincent Pit [Sun, 21 Sep 2014 19:44:42 +0000 (21:44 +0200)]
Don't segfault for indirect constructs inside the empty package
The empty package was an old feature that was removed in perl 5.10.
Vincent Pit [Sun, 21 Sep 2014 19:04:31 +0000 (21:04 +0200)]
Add support for PERL_OP_PARENT
This was introduced in perl 5.21.2.
Vincent Pit [Mon, 1 Sep 2014 13:04:38 +0000 (15:04 +0200)]
Use run_perl() from VPIT::TestHelpers
This updates VPIT::TestHelpers to
4fb18792 .
Vincent Pit [Tue, 19 Aug 2014 00:08:44 +0000 (02:08 +0200)]
Silence a sign-compare warning
Vincent Pit [Thu, 5 Sep 2013 16:45:02 +0000 (18:45 +0200)]
This is 0.31
Vincent Pit [Thu, 5 Sep 2013 14:12:11 +0000 (16:12 +0200)]
Add some tests for 'new { __PACKAGE__ }'
Vincent Pit [Thu, 5 Sep 2013 11:55:38 +0000 (13:55 +0200)]
Remove profanity
We're professionals (or something).
Vincent Pit [Thu, 5 Sep 2013 11:02:10 +0000 (13:02 +0200)]
Handle __PACKAGE__ as object name correctly
__PACKAGE__ cannot appear as the object name for indirect calls, but it
can for direct ones. This could cause wrong reports of indirect calls
when the actual package name appeared later in the source, for instance
in a comment. This is fixed by looking for '__PACKAGE__' in the source
buffer when we already have a hit for the current package name, and by
keeping the first one of those two.
This fixes RT #88428.
Vincent Pit [Sat, 24 Aug 2013 19:26:30 +0000 (16:26 -0300)]
Update bundled Test::Leaner to 0.05
Vincent Pit [Sat, 24 Aug 2013 18:23:43 +0000 (15:23 -0300)]
Make Perl version numbers more readable
Vincent Pit [Sat, 24 Aug 2013 16:41:41 +0000 (13:41 -0300)]
Remove obsolete kwalitee workarounds
Vincent Pit [Fri, 23 Aug 2013 19:39:07 +0000 (16:39 -0300)]
No tabs please
Vincent Pit [Tue, 20 Aug 2013 21:17:58 +0000 (18:17 -0300)]
Stop bundling author tests
Vincent Pit [Tue, 6 Aug 2013 03:28:58 +0000 (00:28 -0300)]
Get rid of t/99-kwalitee.t
New versions started to throw warnings if specific environment variables
are not set. This may be appropriate for dist manager users, but not really
for the rest of the world.
Since kwalitee metrics are either obvious or useless, there's no big loss
in removing this test anyway.
Vincent Pit [Thu, 16 May 2013 15:57:49 +0000 (17:57 +0200)]
This is 0.30
Vincent Pit [Thu, 16 May 2013 15:41:07 +0000 (17:41 +0200)]
Update the bug tracker URL in META after the rt.perl.org upgrade
This fixes RT #84649.
Andrew Main [Thu, 16 May 2013 15:11:41 +0000 (17:11 +0200)]
Partially revert
502e3aac .
Vincent: This fixes things, but I don't know why.
This fixes RT #83806 and RT #83839.
Vincent Pit [Tue, 5 Mar 2013 01:30:05 +0000 (22:30 -0300)]
This is 0.29
Vincent Pit [Tue, 5 Mar 2013 01:06:04 +0000 (22:06 -0300)]
In string-like envs, take the position to the beginning of the string
This fixes RT #83659.
Vincent Pit [Tue, 5 Mar 2013 00:12:52 +0000 (21:12 -0300)]
Force linking against the perl dll when using gcc 3.4 on Windows
When a Windows perl links an XS shared object to an import library using
gcc/g++ version 3.4.x, strange breakage happens at load time because the
mutex-related symbols seems not to be reachable. This situation happens
especially for AS perl and the default compiler suite it installs.
We fix this by forcing g++ to link against the dll instead, which should
be in the same directory as the perl executable (at least for AS perl).
Vincent Pit [Tue, 26 Feb 2013 17:05:22 +0000 (14:05 -0300)]
This is 0.28
Vincent Pit [Tue, 26 Feb 2013 16:35:11 +0000 (13:35 -0300)]
Replace check functions in a thread-safe way
Vincent Pit [Tue, 26 Feb 2013 14:42:39 +0000 (11:42 -0300)]
Make indirect_find() more resilient to embedded nuls
Vincent Pit [Tue, 26 Feb 2013 14:31:20 +0000 (11:31 -0300)]
Clarify what indirect_find() does by renaming some variables
Vincent Pit [Tue, 26 Feb 2013 00:16:15 +0000 (21:16 -0300)]
Properly set and check the line number of method and object tokens
This fixes RT #83450.
Vincent Pit [Tue, 26 Feb 2013 00:03:19 +0000 (21:03 -0300)]
Silence an "unused result" compiler warning
Vincent Pit [Wed, 30 Jan 2013 18:57:44 +0000 (16:57 -0200)]
This is 0.27
Vincent Pit [Wed, 30 Jan 2013 18:44:35 +0000 (16:44 -0200)]
Bump copyright year
Andrew Main [Wed, 30 Jan 2013 17:52:09 +0000 (15:52 -0200)]
Make indirect play nice with Devel::CallParser
Vincent Pit [Wed, 30 Jan 2013 16:23:31 +0000 (14:23 -0200)]
Update VPIT::TestHelpers to
e8344578
Vincent Pit [Fri, 2 Nov 2012 13:12:18 +0000 (11:12 -0200)]
Port module loading in tests to VPIT::TestHelpers
Vincent Pit [Fri, 2 Nov 2012 13:06:39 +0000 (11:06 -0200)]
Add BUILD_REQUIRES to WriteMakefile()
Vincent Pit [Fri, 2 Nov 2012 13:04:49 +0000 (11:04 -0200)]
Quote version numbers in Makefile.PL
Vincent Pit [Fri, 2 Nov 2012 13:03:07 +0000 (11:03 -0200)]
Kill Debian_CPANTS.txt suffixes as well
Vincent Pit [Fri, 2 Nov 2012 13:02:07 +0000 (11:02 -0200)]
Update author tests, and add a POD spelling test
Also make sure that the kwalitee test unlinks its byproducts.
Vincent Pit [Sun, 19 Feb 2012 13:09:03 +0000 (14:09 +0100)]
Require Module::ExtractUse 0.24 for the Kwalitee test
Vincent Pit [Fri, 11 Nov 2011 18:38:48 +0000 (19:38 +0100)]
t/40-threads.t should always run at least one test
No test means failure.
Vincent Pit [Fri, 11 Nov 2011 18:08:09 +0000 (19:08 +0100)]
Make sure the POD headings are linkable
Vincent Pit [Fri, 11 Nov 2011 18:00:43 +0000 (19:00 +0100)]
Reorder the members of the indirect_op_info struct a bit
Vincent Pit [Sun, 23 Oct 2011 14:22:50 +0000 (16:22 +0200)]
This is 0.26
Vincent Pit [Sun, 23 Oct 2011 14:04:51 +0000 (16:04 +0200)]
Preserve the PATH environment variable when running a sub-perl on cygwin
Vincent Pit [Sun, 23 Oct 2011 13:59:00 +0000 (15:59 +0200)]
Revert "Try to prevent t/50-external.t from crashing on Cygwin"
This reverts commit
da77956a4d2f4fbfc4d6c4c2ed78063e5654ac5b .
Vincent Pit [Sun, 23 Oct 2011 10:47:47 +0000 (12:47 +0200)]
Test "no indirect 'global'" with threads
Vincent Pit [Sun, 23 Oct 2011 10:16:56 +0000 (12:16 +0200)]
Port t/46-stress.t to Test::Leaner
This makes the test suite about 25% faster for a threaded perl.
Vincent Pit [Sun, 23 Oct 2011 10:14:20 +0000 (12:14 +0200)]
Port threads test to Test::Leaner and move boilerplate to an helper module
Test::Leaner 0.04 is bundled.
Vincent Pit [Sun, 23 Oct 2011 09:49:47 +0000 (11:49 +0200)]
Forbid passing 'hook' and 'fatal' at the same time
Carp is required.
Vincent Pit [Sun, 23 Oct 2011 00:29:22 +0000 (02:29 +0200)]
Freshen the documentation
Vincent Pit [Sun, 23 Oct 2011 00:08:08 +0000 (02:08 +0200)]
Make sure code examples fit in a 80 columns terminal
Vincent Pit [Sun, 23 Oct 2011 00:06:55 +0000 (02:06 +0200)]
A couple of cosmetic code changes
Vincent Pit [Sun, 23 Oct 2011 00:06:40 +0000 (02:06 +0200)]
Also forcefully reset the localize hint flag for use indirect
Vincent Pit [Sat, 22 Oct 2011 23:59:29 +0000 (01:59 +0200)]
Add 'global' option to 'no indirect'
This enables the module globally.
Vincent Pit [Mon, 5 Sep 2011 17:58:10 +0000 (19:58 +0200)]
Stop leaking the SVs stored in the hints structure.
After being clone, they only need one refcount push, which is done at the
end of indirect_clone().
Vincent Pit [Sun, 4 Sep 2011 15:11:52 +0000 (17:11 +0200)]
Skip the hint entry vivification test on 5.11
It fails the same way even when indirect is not loaded.
This fixes RT #70618.
Vincent Pit [Wed, 24 Aug 2011 15:39:33 +0000 (17:39 +0200)]
This is 0.25
Vincent Pit [Wed, 24 Aug 2011 15:29:44 +0000 (17:29 +0200)]
Try to prevent t/50-external.t from crashing on Cygwin
Vincent Pit [Wed, 24 Aug 2011 12:53:11 +0000 (14:53 +0200)]
Encode the README file in UTF-8
Vincent Pit [Wed, 27 Jul 2011 15:50:25 +0000 (17:50 +0200)]
Remove remaining occurences of $^V
Vincent Pit [Mon, 18 Jul 2011 09:39:07 +0000 (11:39 +0200)]
The last argument to hv_fetch is the lvalue flag, not the hash
This fixes RT #69291 on perl 5.8.
Vincent Pit [Sun, 17 Jul 2011 23:13:23 +0000 (01:13 +0200)]
This is 0.24
Vincent Pit [Sun, 17 Jul 2011 23:05:41 +0000 (01:05 +0200)]
Ignore MYMETA.json
Vincent Pit [Sun, 17 Jul 2011 23:03:35 +0000 (01:03 +0200)]
Add META.json
Vincent Pit [Sun, 17 Jul 2011 22:48:02 +0000 (00:48 +0200)]
Replace $] by "$]" in tests
An old bug could cause $] to be initialized to a wrong decimal value.
Since its stringified value was always right, we use it instead.
Vincent Pit [Sun, 17 Jul 2011 22:31:54 +0000 (00:31 +0200)]
Test that indirect does not vivify entries in %^H
Vincent Pit [Tue, 5 Jul 2011 22:54:14 +0000 (00:54 +0200)]
Test interaction with eval STRING
Vincent Pit [Tue, 5 Jul 2011 22:24:33 +0000 (00:24 +0200)]
Revert "Always get the hint directly from %^H"
We should always fetch the hint from the COPs so that we get the right
environment in eval STRING.
This fixes RT #64521 and RT #69291 in 5.10.
This reverts commit
6429fd7545e28fe43dd128c3ce6bb2ccf031e514 .
Vincent Pit [Mon, 3 Jan 2011 21:45:38 +0000 (22:45 +0100)]
Only declare dMY_CXT when really needed
Vincent Pit [Mon, 3 Jan 2011 21:40:42 +0000 (22:40 +0100)]
Clarify our policy towards C++ compilers
Vincent Pit [Mon, 3 Jan 2011 21:22:51 +0000 (22:22 +0100)]
Switch to qw<>
Vincent Pit [Mon, 3 Jan 2011 21:10:21 +0000 (22:10 +0100)]
Bump copyright year
Vincent Pit [Mon, 3 Jan 2011 21:10:07 +0000 (22:10 +0100)]
Update ptable.h
Vincent Pit [Sun, 3 Oct 2010 00:14:35 +0000 (02:14 +0200)]
This is 0.23
Vincent Pit [Sat, 2 Oct 2010 23:35:11 +0000 (01:35 +0200)]
Skip threads tests unless perl version is 5.13.4 or greater
There was a long standing bug in the handling of GV <-> CV double linkage
that could (and explicitely did with a poisonous perl) cause segfaults at
thread destruction. It got fixed by Dave in commit
803f274 which went in
5.13.3, but the fix was amended for 5.13.4 in commit
09aad8f . Since it's
not really fair for the user to not be able to install the module because
of this, we skip the threads tests unless perl is at least 5.13.4.