The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.18

  • 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)

Modules

Run the interactive Perl debugger under mod_perl
Hook Devel::DProf into mod_perl
Hook Devel::SmallProf into mod_perl