This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
PL_custom_op{s,_names,_descs} should be set to NULL in perl_destruct().
authorNicholas Clark <nick@ccl4.org>
Tue, 17 Mar 2015 16:19:23 +0000 (17:19 +0100)
committerNicholas Clark <nick@ccl4.org>
Tue, 17 Mar 2015 16:31:41 +0000 (17:31 +0100)
commita24da70b9c071e0d13c52a50085b8790d36b5ba8
tree6a7f16d14ae739b5ef55be44b30c7693bebbccb0
parent88203927dfd53d8b5cfca0639c2ed67e4bbe39d2
PL_custom_op{s,_names,_descs} should be set to NULL in perl_destruct().

Otherwise SEGVs and other jollity can happen if the interpreter is created a
second (or subsequent) time, and modules attempt to register custom OPs
(using either the old or new approaches).

These appear to have been bugs since the relevant code was introduced
(new approach in v5.14.0, old approach in v5.8.0)

This probably only affects mod_perl built against a perl without ithreads,
which makes it unlikely that many folks hit it with OS distributions.

You'd need to (at least) be building your own perl, using mod_perl, and
using a module that uses custom OPs.
perl.c