[win32] Sync another change from local repository.
Gurusamy Sarathy [Tue, 28 Oct 1997 22:16:13 +0000 (17:16 -0500)]
    Message-Id: <199710290316.WAA15888@aatma.engin.umich.edu>
    Subject: Re: do_postponed breaks with multiple interpreters

p4raw-id: //depot/win32/perl@307

op.c

diff --git a/op.c b/op.c
index 070fce4..35fd3a0 100644 (file)
--- a/op.c
+++ b/op.c
@@ -3433,7 +3433,7 @@ newSUB(I32 floor, OP *o, OP *proto, OP *block)
        if (PERLDB_SUBLINE && curstash != debstash) {
            SV *sv = NEWSV(0,0);
            SV *tmpstr = sv_newmortal();
-           static GV *db_postponed;
+           GV *db_postponed = gv_fetchpv("DB::postponed", GV_ADDMULTI, SVt_PVHV);
            CV *cv;
            HV *hv;
 
@@ -3442,9 +3442,6 @@ newSUB(I32 floor, OP *o, OP *proto, OP *block)
                    (long)subline, (long)curcop->cop_line);
            gv_efullname3(tmpstr, gv, Nullch);
            hv_store(GvHV(DBsub), SvPVX(tmpstr), SvCUR(tmpstr), sv, 0);
-           if (!db_postponed) {
-               db_postponed = gv_fetchpv("DB::postponed", GV_ADDMULTI, SVt_PVHV);
-           }
            hv = GvHVn(db_postponed);
            if (HvFILL(hv) > 0 && hv_exists(hv, SvPVX(tmpstr), SvCUR(tmpstr))
                  && (cv = GvCV(db_postponed))) {