summaryrefslogtreecommitdiff
path: root/makedef.pl
diff options
context:
space:
mode:
authorCraig A. Berry <craigberry@mac.com>2011-08-02 19:06:41 -0500
committerCraig A. Berry <craigberry@mac.com>2011-08-02 19:06:41 -0500
commit662667f1e08ac081a3bfcaed3d91ad5410c3d6e4 (patch)
treeb4f94d45f3c712930ba97c0c37b5f4061752aca3 /makedef.pl
parent10654d5139c0a27b996d0f536591978b3a6d532f (diff)
downloadperl-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.pl5
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}) {