]> git.vpit.fr Git - perl/modules/Thread-Cleanup.git/blobdiff - Cleanup.xs
When a pseudo-fork ends, execute the cleanup hooks after global END blocks
[perl/modules/Thread-Cleanup.git] / Cleanup.xs
index 43ab9496eff85fb33ed27dbdb396190d844385c9..4fd00ecb41ee67c1ddb1da76baa34f595698b6a6 100644 (file)
@@ -65,9 +65,8 @@ PPCODE:
   CV *cv = GvCV(gv);
   if (!PL_endav)
    PL_endav = newAV();
-  av_unshift(PL_endav, 1);
   SvREFCNT_inc(cv);
-  if (!av_store(PL_endav, 0, (SV *) cv))
+  if (!av_store(PL_endav, av_len(PL_endav) + 1, (SV *) cv))
    SvREFCNT_dec(cv);
   sv_magicext((SV *) PL_endav, NULL, PERL_MAGIC_ext, &tc_endav_vtbl, NULL, 0);
  }