summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--os2/perlrexx.c1
-rw-r--r--t/op/blocks.t4
-rw-r--r--win32/perllib.c1
3 files changed, 2 insertions, 4 deletions
diff --git a/os2/perlrexx.c b/os2/perlrexx.c
index 8d3237e887..267805c841 100644
--- a/os2/perlrexx.c
+++ b/os2/perlrexx.c
@@ -74,6 +74,7 @@ init_perl(int doparse)
if (!my_perl)
return 0;
perl_construct(my_perl);
+ PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
PL_perl_destruct_level = 1;
}
if (!doparse)
diff --git a/t/op/blocks.t b/t/op/blocks.t
index 4b3b7f1833..18f0596226 100644
--- a/t/op/blocks.t
+++ b/t/op/blocks.t
@@ -188,10 +188,6 @@ SKIP: {
SKIP: {
- if ($^O =~ /^(MSWin32|os2)$/) {
- skip "non_UNIX plafforms and PERL_EXIT_DESTRUCT_END (RT #132863)", 6;
- }
-
fresh_perl_is(
"$testblocks BEGIN { exit 1; }",
"begin\nunitcheck\ncheck\nend",
diff --git a/win32/perllib.c b/win32/perllib.c
index a8fe7af9c0..d0d2caf764 100644
--- a/win32/perllib.c
+++ b/win32/perllib.c
@@ -180,6 +180,7 @@ RunPerl(int argc, char **argv, char **env)
if (!(my_perl = perl_alloc()))
return (1);
perl_construct(my_perl);
+ PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
PL_perl_destruct_level = 0;
/* PERL_SYS_INIT() may update the environment, e.g. via ansify_path().