summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorAlan Burlison <Alan.Burlison@uk.sun.com>2004-08-09 11:30:25 +0100
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2004-08-09 09:13:27 +0000
commita3b811a7af57a27dc18c2ae9d0626dbea44a781f (patch)
treeff2f16bab62c0391d541faac8df191b5ce65fad9 /ext
parentd1f347d75f2751e771d6a00c52f4e5f14bfd93ea (diff)
downloadperl-a3b811a7af57a27dc18c2ae9d0626dbea44a781f.tar.gz
Re: POSIX::sigprocmask implemented incorrectly
Message-ID: <41174431.6050803@sun.com> p4raw-id: //depot/perl@23204
Diffstat (limited to 'ext')
-rw-r--r--ext/POSIX/POSIX.xs6
1 files changed, 3 insertions, 3 deletions
diff --git a/ext/POSIX/POSIX.xs b/ext/POSIX/POSIX.xs
index c6a6114a72..25c42501f3 100644
--- a/ext/POSIX/POSIX.xs
+++ b/ext/POSIX/POSIX.xs
@@ -1393,9 +1393,9 @@ sigprocmask(how, sigset, oldsigset = 0)
POSIX::SigSet sigset = NO_INIT
POSIX::SigSet oldsigset = NO_INIT
INIT:
- if (SvTYPE(ST(1)) == SVt_NULL) {
+ if (! SvOK(ST(1))) {
sigset = NULL;
- } else if (sv_derived_from(ST(1), "POSIX::SigSet")) {
+ } else if (sv_isa(ST(1), "POSIX::SigSet")) {
IV tmp = SvIV((SV*)SvRV(ST(1)));
sigset = INT2PTR(POSIX__SigSet,tmp);
} else {
@@ -1404,7 +1404,7 @@ INIT:
if ( items < 3 || SvTYPE(ST(2)) == SVt_NULL) {
oldsigset = NULL;
- } else if (sv_derived_from(ST(2), "POSIX::SigSet")) {
+ } else if (sv_isa(ST(2), "POSIX::SigSet")) {
IV tmp = SvIV((SV*)SvRV(ST(2)));
oldsigset = INT2PTR(POSIX__SigSet,tmp);
} else {