summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--global.sym1
-rw-r--r--mg.c4
-rw-r--r--perl.c1
-rw-r--r--perl.h1
4 files changed, 5 insertions, 2 deletions
diff --git a/global.sym b/global.sym
index 161f1664f4..cde99974d2 100644
--- a/global.sym
+++ b/global.sym
@@ -1082,6 +1082,7 @@ setenv_getix
share_hek
sharepvn
sighandler
+sighandlerp
skipspace
stack_grow
start_subparse
diff --git a/mg.c b/mg.c
index 404afef7e0..db8356f357 100644
--- a/mg.c
+++ b/mg.c
@@ -784,7 +784,7 @@ MAGIC* mg;
}
if (SvTYPE(sv) == SVt_PVGV || SvROK(sv)) {
if (i)
- (void)rsignal(i, sighandler);
+ (void)rsignal(i, sighandlerp);
else
*svp = SvREFCNT_inc(sv);
return 0;
@@ -811,7 +811,7 @@ MAGIC* mg;
if (!strchr(s,':') && !strchr(s,'\''))
sv_setpv(sv, form("main::%s", s));
if (i)
- (void)rsignal(i, sighandler);
+ (void)rsignal(i, sighandlerp);
else
*svp = SvREFCNT_inc(sv);
}
diff --git a/perl.c b/perl.c
index 61961a7e33..f08def4a91 100644
--- a/perl.c
+++ b/perl.c
@@ -164,6 +164,7 @@ register PerlInterpreter *sv_interp;
nrs = newSVpv("\n", 1);
rs = SvREFCNT_inc(nrs);
+ sighandlerp = sighandler;
MUTEX_INIT(&malloc_mutex);
MUTEX_INIT(&sv_mutex);
MUTEX_INIT(&eval_mutex);
diff --git a/perl.h b/perl.h
index 5080c1b472..824f76aeb3 100644
--- a/perl.h
+++ b/perl.h
@@ -1384,6 +1384,7 @@ EXT U32 * profiledata;
EXT int maxo INIT(MAXO);/* Number of ops */
EXT char * osname; /* operating system */
EXT char * sh_path INIT(SH_PATH); /* full path of shell */
+EXT Sighandler_t sighandlerp;
EXT XPV* xiv_arenaroot; /* list of allocated xiv areas */
EXT IV ** xiv_root; /* free xiv list--shared by interpreters */