On Fri, Feb 13, 2009 at 3:27 PM,  <j...@apache.org> wrote:
> Author: joes
> Date: Fri Feb 13 23:27:31 2009
> New Revision: 744281
>
> URL: http://svn.apache.org/viewvc?rev=744281&view=rev
> Log:
> revert, yes mortal is correct here

Could you give a lamens explanation of sv_2mortal for those of us
aspiring hackers?  I've seen it all over the place in the mod_perl and
apreq codebase (and perl as well), but haven't ever been able to track
down what it really does.

>
> Modified:
>    httpd/apreq/trunk/glue/perl/xsbuilder/apreq_xs_postperl.h
>
> Modified: httpd/apreq/trunk/glue/perl/xsbuilder/apreq_xs_postperl.h
> URL: 
> http://svn.apache.org/viewvc/httpd/apreq/trunk/glue/perl/xsbuilder/apreq_xs_postperl.h?rev=744281&r1=744280&r2=744281&view=diff
> ==============================================================================
> --- httpd/apreq/trunk/glue/perl/xsbuilder/apreq_xs_postperl.h (original)
> +++ httpd/apreq/trunk/glue/perl/xsbuilder/apreq_xs_postperl.h Fri Feb 13 
> 23:27:31 2009
> @@ -250,13 +250,13 @@
>     }
>
>     if (obj != Nullsv)
> -        sv_setsv(*hv_fetch(data, "_r",   2, 1), newRV_inc(obj));
> +        sv_setsv(*hv_fetch(data, "_r",   2, 1), sv_2mortal(newRV_inc(obj)));
>     sv_setiv(*hv_fetch(data, "rc",   2, 1), rc);
>     sv_setpv(*hv_fetch(data, "file", 4, 1), CopFILE(PL_curcop));
>     sv_setiv(*hv_fetch(data, "line", 4, 1), CopLINE(PL_curcop));
>     sv_setpv(*hv_fetch(data, "func", 4, 1), func);
>
> -    sv_setsv(ERRSV, sv_bless(newRV_noinc((SV*)data), stash));
> +    sv_setsv(ERRSV, sv_2mortal(sv_bless(newRV_noinc((SV*)data), stash)));
>     Perl_croak(aTHX_ Nullch);
>  }
>
>
>
>

Reply via email to