diff options
author | Radu Greab <radu@netsoft.ro> | 2003-08-05 23:57:15 +0300 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2003-10-21 21:21:56 +0000 |
commit | bf9cdc68d248e456c55258025f0d0724ca63226d (patch) | |
tree | df180b40a00a02d3bc0a3ff6eb6e68872cdf6676 /perl.c | |
parent | 69fc43e8cc1ab20ea33528914d94e54ac04360ed (diff) | |
download | perl-bf9cdc68d248e456c55258025f0d0724ca63226d.tar.gz |
embedding perl
Message-Id: <20030805.205715.113441323.radu@yx.primIT.ro>
p4raw-id: //depot/perl@21514
Diffstat (limited to 'perl.c')
-rw-r--r-- | perl.c | 30 |
1 files changed, 29 insertions, 1 deletions
@@ -381,6 +381,7 @@ perl_destruct(pTHXx) * Non-referenced objects are on their own. */ sv_clean_objs(); + PL_sv_objcount = 0; } /* unhook hooks which will soon be, or use, destroyed data */ @@ -506,6 +507,8 @@ perl_destruct(pTHXx) PL_e_script = Nullsv; } + PL_perldb = 0; + /* magical thingies */ SvREFCNT_dec(PL_ofs_sv); /* $, */ @@ -565,6 +568,15 @@ perl_destruct(pTHXx) PL_stderrgv = Nullgv; PL_last_in_gv = Nullgv; PL_replgv = Nullgv; + PL_DBgv = Nullgv; + PL_DBline = Nullgv; + PL_DBsub = Nullgv; + PL_DBsingle = Nullsv; + PL_DBtrace = Nullsv; + PL_DBsignal = Nullsv; + PL_DBassertion = Nullsv; + PL_DBcv = Nullcv; + PL_dbargs = Nullav; PL_debstash = Nullhv; /* reset so print() ends up where we expect */ @@ -599,6 +611,7 @@ perl_destruct(pTHXx) Safefree(PL_numeric_name); PL_numeric_name = Nullch; SvREFCNT_dec(PL_numeric_radix_sv); + PL_numeric_radix_sv = Nullsv; #endif /* clear utf8 character classes */ @@ -737,6 +750,7 @@ perl_destruct(pTHXx) #ifdef USE_ITHREADS /* free the pointer table used for cloning */ ptr_table_free(PL_ptr_table); + PL_ptr_table = (PTR_TBL_t*)NULL; #endif /* free special SVs */ @@ -780,6 +794,7 @@ perl_destruct(pTHXx) } } #endif + PL_sv_count = 0; #if defined(PERLIO_LAYERS) @@ -798,18 +813,31 @@ perl_destruct(pTHXx) SvREADONLY_off(&PL_sv_placeholder); Safefree(PL_origfilename); + PL_origfilename = Nullch; Safefree(PL_reg_start_tmp); + PL_reg_start_tmp = (char**)NULL; + PL_reg_start_tmpl = 0; if (PL_reg_curpm) Safefree(PL_reg_curpm); Safefree(PL_reg_poscache); free_tied_hv_pool(); Safefree(PL_op_mask); Safefree(PL_psig_ptr); + PL_psig_ptr = (SV**)NULL; Safefree(PL_psig_name); + PL_psig_name = (SV**)NULL; Safefree(PL_bitcount); + PL_bitcount = Nullch; Safefree(PL_psig_pend); + PL_psig_pend = (int*)NULL; + PL_formfeed = Nullsv; + Safefree(PL_ofmt); + PL_ofmt = Nullch; nuke_stacks(); + PL_tainting = FALSE; + PL_taint_warn = FALSE; PL_hints = 0; /* Reset hints. Should hints be per-interpreter ? */ + PL_debug = 0; DEBUG_P(debprofdump()); @@ -3516,7 +3544,7 @@ Perl_init_debugger(pTHX) sv_setiv(PL_DBtrace, 0); PL_DBsignal = GvSV((gv_fetchpv("DB::signal", GV_ADDMULTI, SVt_PV))); sv_setiv(PL_DBsignal, 0); - PL_DBassertion = GvSV((gv_fetchpv("assertion", GV_ADDMULTI, SVt_PV))); + PL_DBassertion = GvSV((gv_fetchpv("DB::assertion", GV_ADDMULTI, SVt_PV))); sv_setiv(PL_DBassertion, 0); PL_curstash = ostash; } |