Change 18421 by sky@sky-tibook on 2003/01/04 01:27:55 Fix long standing memory leak with pop and shift! Affected files ... ... //depot/perl/ext/threads/shared/shared.xs#30 edit Differences ... ==== //depot/perl/ext/threads/shared/shared.xs#30 (text) ==== Index: perl/ext/threads/shared/shared.xs --- perl/ext/threads/shared/shared.xs#29~17453~ Tue Jul 9 14:23:31 2002 +++ perl/ext/threads/shared/shared.xs Fri Jan 3 17:27:55 2003 @@ -813,8 +813,9 @@ SHARED_CONTEXT; sv = av_pop((AV*)SHAREDSvPTR(shared)); CALLER_CONTEXT; - ST(0) = Nullsv; + ST(0) = sv_newmortal(); Perl_sharedsv_associate(aTHX_ &ST(0), sv, 0); + SvREFCNT_dec(sv); LEAVE_LOCK; XSRETURN(1); @@ -827,8 +828,9 @@ SHARED_CONTEXT; sv = av_shift((AV*)SHAREDSvPTR(shared)); CALLER_CONTEXT; - ST(0) = Nullsv; + ST(0) = sv_newmortal(); Perl_sharedsv_associate(aTHX_ &ST(0), sv, 0); + SvREFCNT_dec(sv); LEAVE_LOCK; XSRETURN(1); End of Patch.