summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--perlio.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/perlio.c b/perlio.c
index 5a9ce2ce4a..b64524acef 100644
--- a/perlio.c
+++ b/perlio.c
@@ -311,6 +311,13 @@ HV *PerlIO_layer_hv;
AV *PerlIO_layer_av;
void
+PerlIO_cleanup_layers(pTHXo_ void *data)
+{
+ PerlIO_layer_hv = Nullhv;
+ PerlIO_layer_av = Nullav;
+}
+
+void
PerlIO_cleanup()
{
dTHX;
@@ -3596,6 +3603,8 @@ PerlIO_funcs PerlIO_mmap = {
void
PerlIO_init(void)
{
+ dTHX;
+ call_atexit(PerlIO_cleanup_layers, NULL);
if (!_perlio)
{
#ifndef WIN32