Geoffrey Young wrote:

no, I was talking about the change I did to fix the undef-on-exit problem (i.e. replacing POPi with POPs)


ok. I didn't see how to fix the undef warning with POPi, though, since it's undocumented what POPi returns when the stack is undef, and whether it will always compare to PL_sv_undef (whose name indicates to me an undef SV, not an undef IV, and I'm recalling some of stephen clouse's comments that undef isn't undef for all values of undef). so, using POPs seems reasonable to me :)

What I meant is this:


        if (count != 1) {
            status = OK;
        }
        else {
            SV* status_sv = POPs;
            if (status_sv == &PL_sv_undef) {
                /* ModPerl::Util::exit returns undef */
                status = OK;
            }
            else {
                status = (IV)SvIV(status_sv);
            }
            /* assume OK for 200 (HTTP_OK) */
            if ((status == 200)) {
                status = OK;
            }
        }

I just tested that the undef problem disappears (I can easily reproduce it) and the rest works just as before.

I'll try again at getting a test reproduce this problem.

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to