From 22f1178fc6ea7d78b2fce6108796ec629a70476b Mon Sep 17 00:00:00 2001 From: Vincent Pit Date: Thu, 3 Jan 2008 20:26:05 +0100 Subject: Re: SV leak? Message-ID: <477D28BD.5060801@profvince.com> Mortalize SVs that are being pushed on the stack. Try to use specialized macros for pushing mortals. p4raw-id: //depot/perl@32822 --- os2/os2.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'os2') diff --git a/os2/os2.c b/os2/os2.c index 5c05df59b9..4ebdd509a9 100644 --- a/os2/os2.c +++ b/os2/os2.c @@ -4360,10 +4360,10 @@ XS(XS_OS2_pipeCntl) &PipeState), "DosPeekNPipe() for state"); if (state) { EXTEND(SP, 3); - PUSHs(newSVuv(PipeState)); + mPUSHu(PipeState); /* Bytes (available/in-message) */ - PUSHs(newSViv(BytesAvail.cbpipe)); - PUSHs(newSViv(BytesAvail.cbmessage)); + mPUSHi(BytesAvail.cbpipe); + mPUSHi(BytesAvail.cbmessage); XSRETURN(3); } else if (info) { /* L S S C C C/Z* @@ -4390,12 +4390,12 @@ XS(XS_OS2_pipeCntl) else size = strlen(b.pInfo.szName); EXTEND(SP, 6); - PUSHs(newSVpvn(b.pInfo.szName, size)); - PUSHs(newSVuv(b.id)); - PUSHs(newSViv(b.pInfo.cbOut)); - PUSHs(newSViv(b.pInfo.cbIn)); - PUSHs(newSViv(b.pInfo.cbMaxInst)); - PUSHs(newSViv(b.pInfo.cbCurInst)); + mPUSHp(b.pInfo.szName, size); + mPUSHu(b.id); + mPUSHi(b.pInfo.cbOut); + mPUSHi(b.pInfo.cbIn); + mPUSHi(b.pInfo.cbMaxInst); + mPUSHi(b.pInfo.cbCurInst); XSRETURN(6); } else if (BytesAvail.cbpipe == 0) { XSRETURN_NO; -- cgit v1.2.1