diff options
author | Craig A. Berry <craigberry@mac.com> | 2011-08-02 19:06:41 -0500 |
---|---|---|
committer | Craig A. Berry <craigberry@mac.com> | 2011-08-02 19:06:41 -0500 |
commit | 662667f1e08ac081a3bfcaed3d91ad5410c3d6e4 (patch) | |
tree | b4f94d45f3c712930ba97c0c37b5f4061752aca3 /makedef.pl | |
parent | 10654d5139c0a27b996d0f536591978b3a6d532f (diff) | |
download | perl-662667f1e08ac081a3bfcaed3d91ad5410c3d6e4.tar.gz |
Add the correct PL_sig_ignoring skip for VMS in makedef.pl.
This only exists when FAKE_PERSISTENT_SIGNAL_HANDLERS is defined,
and that's only defined when HAS_SIGACTION is false.
The problem was exposed by ed76ea85d1, which fixed a typo introduced
in aadb217dbe, but that typo introduced code that was a noop on all
platforms, including VMS, where $^O is 'VMS', not 'vms'.
TODO: The existence of PL_sig_defaulting and PL_sig_handlers_initted
depends on the definedness of FAKE_DEFAULT_SIGNAL_HANDLERS, which
depends on KILL_BY_SIGPRC, which is written directly to config.h
without being recorded in config.sh and is thus not visible in Config.
So there's no good way to know when these symbols should be skipped.
KILL_BY_SIGPRC currently gets defined on all VMS versions and platforms,
so it's a breakage-in-waiting but does not actually fall down (yet).
Diffstat (limited to 'makedef.pl')
-rw-r--r-- | makedef.pl | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/makedef.pl b/makedef.pl index e7d72e3dcc..6a31582e5a 100644 --- a/makedef.pl +++ b/makedef.pl @@ -487,6 +487,11 @@ unless ($define{HAS_MMAP}) { if ($define{HAS_SIGACTION}) { ++$skip{PL_sig_trapped}; + + if ($ARGS{PLATFORM} eq 'vms') { + # FAKE_PERSISTENT_SIGNAL_HANDLERS defined as !defined(HAS_SIGACTION) + ++$skip{PL_sig_ignoring}; + } } unless ($define{USE_LOCALE_COLLATE}) { |