summaryrefslogtreecommitdiff
path: root/perlvars.h
diff options
context:
space:
mode:
authorDavid Mitchell <davem@iabyn.com>2019-11-11 15:49:58 +0000
committerDavid Mitchell <davem@iabyn.com>2019-11-18 09:34:40 +0000
commitdc37125bb824744e1f528311ca37da59913cda7d (patch)
tree806df16eed1b338b85f3d9e0df59090b3e54576d /perlvars.h
parentddb513d51f5efcde057dad7932a56643647947e1 (diff)
downloadperl-dc37125bb824744e1f528311ca37da59913cda7d.tar.gz
add explicit 1-arg and 3-arg sig handler functions
Currently, whether the OS-level signal handler function is declared as 1-arg or 3-arg depends on the configuration. Add explicit versions of these functions, principally so that POSIX.xs can call which version of the handler it wants regardless of configuration: see next commit.
Diffstat (limited to 'perlvars.h')
-rw-r--r--perlvars.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/perlvars.h b/perlvars.h
index b9ba54058a..976649a409 100644
--- a/perlvars.h
+++ b/perlvars.h
@@ -73,8 +73,13 @@ PERLVARI(G, sig_trapped, int, 0)
/* If Perl has to ignore SIGPFE, this is its saved state.
* See perl.h macros PERL_FPU_INIT and PERL_FPU_{PRE,POST}_EXEC. */
PERLVAR(G, sigfpe_saved, Sighandler_t)
-PERLVARI(G, csighandlerp, Sighandler_t, Perl_csighandler)
- /* Pointer to C-level sighandler */
+
+/* these ptrs to functions are to avoid linkage problems; see
+ * perl-5.8.0-2193-g5c1546dc48
+ */
+PERLVARI(G, csighandlerp, Sighandler_t, Perl_csighandler)
+PERLVARI(G, csighandler1p, Sighandler1_t, Perl_csighandler1)
+PERLVARI(G, csighandler3p, Sighandler3_t, Perl_csighandler3)
#endif
/* This is constant on most architectures, a global on OS/2 */