Integrate change #8665 from maintperl to mainline,
Jarkko Hietaniemi [Thu, 22 Feb 2001 12:50:52 +0000 (12:50 +0000)]
IA64-induced POSIX::SigSet masking with IVs instead of NVs.

p4raw-link: @8665 on //depot/maint-5.6/perl: 906def0b44c94e1ecc41e6a82c183f50655aee49

p4raw-id: //depot/perl@8887
p4raw-integrated: from //depot/maint-5.6/perl@8884 'merge in'
ext/POSIX/POSIX.xs (@8664..)

ext/POSIX/POSIX.xs

index 87475fe..861900a 100644 (file)
@@ -3443,9 +3443,8 @@ sigaction(sig, action, oldaction = 0)
                /* Get back the mask. */
                svp = hv_fetch(oldaction, "MASK", 4, TRUE);
                if (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);
                }
                else {
                    New(0, sigset, 1, sigset_t);