diff options
-rw-r--r-- | hv.c | 7 | ||||
-rw-r--r-- | pod/perldiag.pod | 7 |
2 files changed, 1 insertions, 13 deletions
@@ -1630,7 +1630,6 @@ S_clear_placeholders(pTHX_ HV *hv, U32 items) STATIC void S_hfreeentries(pTHX_ HV *hv) { - int attempts = 100; STRLEN i = 0; const bool mpm = PL_phase != PERL_PHASE_DESTRUCT && HvENAME(hv); @@ -1689,12 +1688,8 @@ S_hfreeentries(pTHX_ HV *hv) * re-allocated, HvMAX changed etc */ continue; } - if (i++ >= HvMAX(hv)) { + if (i++ >= HvMAX(hv)) i = 0; - if (--attempts == 0) { - Perl_die(aTHX_ "panic: hfreeentries failed to free hash - something is repeatedly re-creating entries"); - } - } } /* while */ } diff --git a/pod/perldiag.pod b/pod/perldiag.pod index 8f2ad2913f..b90a141961 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -3423,13 +3423,6 @@ repeatedly, but each time something re-created entries in the glob. Most likely the glob contains an object with a reference back to the glob and a destructor that adds a new object to the glob. -=item panic: hfreeentries failed to free hash - -(P) The internal routine used to clear a hash's entries tried repeatedly, -but each time something added more entries to the hash. Most likely the hash -contains an object with a reference back to the hash and a destructor that -adds a new object to the hash. - =item panic: INTERPCASEMOD (P) The lexer got into a bad state at a case modifier. |