diff options
author | Craig A. Berry <craigberry@mac.com> | 2012-10-20 17:27:01 -0500 |
---|---|---|
committer | Craig A. Berry <craigberry@mac.com> | 2012-10-20 17:27:01 -0500 |
commit | dc2a396bba8663b0124f0368814efac7cc73496e (patch) | |
tree | 649ad8452dcd79d2c4a09f9fb46648f90640a625 /makedef.pl | |
parent | e2a80cb510d52963a6daffd5dec140417f3b625e (diff) | |
download | perl-dc2a396bba8663b0124f0368814efac7cc73496e.tar.gz |
Exclude signal-related symbols on VMS without home-grown signalling.
config.h defines KILL_BY_SIGPRC when we are using our own signal
handling functions based on the sys$sigprc system service. But
when *not* doing that, and since using makedef.pl to define our
exportable symbols, we have not properly excluded the symbols
involved in the home-grown implementation. It's not a common
configuration, but since it's configurable, it should work, and
now it will.
Diffstat (limited to 'makedef.pl')
-rw-r--r-- | makedef.pl | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/makedef.pl b/makedef.pl index 0923f40117..9550042f2d 100644 --- a/makedef.pl +++ b/makedef.pl @@ -105,6 +105,7 @@ open(CFG, '<', 'config.h') || die "Cannot open config.h: $!\n"; while (<CFG>) { $define{$1} = 1 if /^\s*\#\s*define\s+(MYMALLOC|MULTIPLICITY |SPRINTF_RETURNS_STRLEN + |KILL_BY_SIGPRC |(?:PERL|USE|HAS)_\w+)\b/x; } close(CFG); @@ -471,9 +472,19 @@ if ($define{HAS_SIGACTION}) { if ($ARGS{PLATFORM} eq 'vms') { # FAKE_PERSISTENT_SIGNAL_HANDLERS defined as !defined(HAS_SIGACTION) ++$skip{PL_sig_ignoring}; + ++$skip{PL_sig_handlers_initted} unless $define{KILL_BY_SIGPRC}; } } +if ($ARGS{PLATFORM} eq 'vms' && !$define{KILL_BY_SIGPRC}) { + # FAKE_DEFAULT_SIGNAL_HANDLERS defined as KILL_BY_SIGPRC + ++$skip{Perl_csighandler_init}; + ++$skip{Perl_my_kill}; + ++$skip{Perl_sig_to_vmscondition}; + ++$skip{PL_sig_defaulting}; + ++$skip{PL_sig_handlers_initted} unless !$define{HAS_SIGACTION}; +} + unless ($define{USE_LOCALE_COLLATE}) { ++$skip{$_} foreach qw( PL_collation_ix |