summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorCharles Bailey <bailey@newman.upenn.edu>2001-02-08 20:49:00 +0000
committerbailey <bailey@newman.upenn.edu>2001-02-08 20:49:00 +0000
commitb82d478d407f1381d69179104035c975c1d1402e (patch)
tree1bb5fad4dd5cb2ccc6d9fc113687e78505032993 /ext
parent847a5fae45dac396d0f9e1bb61d5b4ff9d94cdcd (diff)
downloadperl-b82d478d407f1381d69179104035c975c1d1402e.tar.gz
SYN SYN
p4raw-id: //depot/vmsperl@8718
Diffstat (limited to 'ext')
-rw-r--r--ext/Errno/Errno_pm.PL3
-rw-r--r--ext/POSIX/POSIX.xs5
2 files changed, 5 insertions, 3 deletions
diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
index 3e34b90bee..dd165157f6 100644
--- a/ext/Errno/Errno_pm.PL
+++ b/ext/Errno/Errno_pm.PL
@@ -83,6 +83,9 @@ sub get_files {
} elsif ($^O eq 'vmesa') {
# OS/390 C compiler doesn't generate #file or #line directives
$file{'../../vmesa/errno.h'} = 1;
+ } elsif ($Config{archname} eq 'epoc') {
+ # Watch out for cross compiling for EPOC (usually done on linux)
+ $file{'/usr/local/epoc/include/libc/sys/errno.h'} = 1;
} elsif ($^O eq 'linux') {
# Some Linuxes have weird errno.hs which generate
# no #file or #line directives
diff --git a/ext/POSIX/POSIX.xs b/ext/POSIX/POSIX.xs
index 887fcbcbea..a81f04491b 100644
--- a/ext/POSIX/POSIX.xs
+++ b/ext/POSIX/POSIX.xs
@@ -3417,9 +3417,8 @@ sigaction(sig, action, oldaction = 0)
/* Set up any desired mask. */
svp = hv_fetch(action, "MASK", 4, FALSE);
if (svp && sv_isa(*svp, "POSIX::SigSet")) {
- unsigned long tmp;
- tmp = (unsigned long)SvNV((SV*)SvRV(*svp));
- sigset = (sigset_t*) tmp;
+ IV tmp = SvIV((SV*)SvRV(*svp));
+ sigset = INT2PTR(sigset_t*, tmp);
act.sa_mask = *sigset;
}
else