change in perl 5.31 iperlsys.h
#ifndef Sighandler_t -# if defined(HAS_SIGACTION) && defined(SA_SIGINFO) +# ifdef PERL_USE_3ARG_SIGHANDLER typedef Signal_t (*Sighandler_t) (int, siginfo_t*, void*); # else typedef Signal_t (*Sighandler_t) (int); # endif #endif
perl.h
+#if defined(HAS_SIGACTION) && defined(SA_SIGINFO) + /* having sigaction(2) means that the OS supports both 1-arg and 3-arg + * signal handlers. But the perl core itself only fully supports 1-arg + * handlers, so don't enable for now. + * NB: POSIX::sigaction() supports both. + * + * # define PERL_USE_3ARG_SIGHANDLER + */ +#endif
-#if ((PERL_REVISION == 5) && (PERL_VERSION >= 10)) && defined(HAS_SIGACTION) && defined(SA_SIGINFO) +#if ((PERL_REVISION == 5) && (PERL_VERSION >= 10) && (PERL_VERSION <= 30)) && defined(HAS_SIGACTION) && defined(SA_SIGINFO)
(https://rt.cpan.org/Ticket/Display.html?id=132641)
This is probably due to this change in 5.31.6 (quoting perl5136delta.pod):
* The OS-level signal handlers and type (Sighandler_t) used by the perl core were declared as having three parameters, but the OS was always told to call them with one argument. This has been fixed by declaring them to have one parameter. See the merge commit "v5.31.5-346-g116e19abbf" for full details.
DB.XS Fixed ( not longer working for Perl >= v5.21.5 ) broken in commit [perl #122445] use magic on $DB::single etc to avoid overload issues)
static void my_init_debugger() { dTHR; - PL_curstash = PL_debstash; - PL_dbargs = - GvAV(gv_AVadd((gv_fetchpv("DB::args", GV_ADDMULTI, SVt_PVAV)))); - AvREAL_off(PL_dbargs); - PL_DBgv = gv_fetchpv("DB::DB", GV_ADDMULTI, SVt_PVGV); - PL_DBline = gv_fetchpv("DB::dbline", GV_ADDMULTI, SVt_PVAV); - PL_DBsub = gv_HVadd(gv_fetchpv("DB::sub", GV_ADDMULTI, SVt_PVHV)); - PL_DBsingle = GvSV((gv_fetchpv("DB::single", GV_ADDMULTI, SVt_PV))); - sv_setiv(PL_DBsingle, 0); - PL_DBtrace = GvSV((gv_fetchpv("DB::trace", GV_ADDMULTI, SVt_PV))); - sv_setiv(PL_DBtrace, 0); - PL_DBsignal = GvSV((gv_fetchpv("DB::signal", GV_ADDMULTI, SVt_PV))); - sv_setiv(PL_DBsignal, 0); - PL_curstash = PL_defstash; - + Perl_init_debugger(aTHX); }
Debian patches added (https://salsa.debian.org/perl-team/modules/packages/libapache-db-perl)
Added patch from Niko Tyni which fixes Apache::DB for use with Perl 5.10
Fixed Apache::DProf and Apache::SmallProf to work when using taint mode.
Fixed mod_perl 1.x bug in Apache::SmallProf that was using mp2 code mistakenly.
Add $ENV{APACHE_DPROF_PATH_ABSOLUTE} override for those unlucky soles that can NOT write to ServerRoot. [Philip M. Gollucci <pgollucci@p6m7g8.com>]
Refactored how we were detecting mod_perl 1.x vs mod_perl 2.x
Cleaned up a small documentation bug in Apache::SmallProf
Ported all modules to mod_perl 2.0.0-RC6 including API changes.
Added documentation regarding necessary steps when debugging with SELinux thanks to Dave Hageman <dhageman@dracken.com>.
Added missing license information.
Added fix for graphical debuggers thanks to Eric Promislow <ericp@ActiveState.com>.
General documentation cleanup.
Fix required module problems in Apache::SmallProf, thanks to Jens Gassmann <jens.gassmann@atomix.de> for spotting the problem.
Increment version to fix PAUSE upload problem.
Ported modules to work with mod_perl 2.0 [Frank Wiles <frank@wiles.org>]
Fixed compilation problem on WIN32 platform.
fix APACHE_DPROF_PATH [Balazs Rauznitz <balazs@Commissioner.com>]
fix Apache::DB for 5.005_6x+
sync Apache::SmallProf w/ Devel::SmallProf 0.07 (cpu time support)
included example perldb.conf
included Apache::SmallProf
included Apache::DProf
added init() function
updated docs
fix for threaded Perl
first public release
1 POD Error
The following errors were encountered while parsing the POD:
'=item' outside of any '=over'
=over without closing =back
To install Apache::DB, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Apache::DB
CPAN shell
perl -MCPAN -e shell install Apache::DB
For more information on module installation, please visit the detailed CPAN module installation guide.