From db4b30a0eec8b79716786ed40aa7c62d76b30b6e Mon Sep 17 00:00:00 2001 From: Leon Timmermans Date: Fri, 6 Aug 2021 16:31:06 +0200 Subject: [PATCH] Employ PL_shutdownhook --- dosish.h | 8 ++++---- perl.h | 2 ++ unixish.h | 8 ++++---- win32/win32.c | 1 + 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/dosish.h b/dosish.h index 8a1ce980484b..9c9638ced13d 100644 --- a/dosish.h +++ b/dosish.h @@ -31,10 +31,10 @@ * to work, but must NOT be retained in production code. */ #ifndef PERL_SYS_TERM_BODY # define PERL_SYS_TERM_BODY() \ - ENV_TERM; USER_PROP_MUTEX_TERM; LOCALE_TERM; \ - HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM; \ - OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; \ - PERLIO_TERM; MALLOC_TERM; + SHUTDOWN_TERM; ENV_TERM; USER_PROP_MUTEX_TERM; \ + LOCALE_TERM;INTS_REFCNT_TERM; \ + KEYWORD_PLUGIN_MUTEX_TERM;OP_CHECK_MUTEX_TERM; \ + OP_REFCNT_TERM;PERLIO_TERM; MALLOC_TERM; #endif #define dXSUB_SYS dNOOP diff --git a/perl.h b/perl.h index 3a6a6c766753..0868939d3a90 100644 --- a/perl.h +++ b/perl.h @@ -3606,6 +3606,8 @@ freeing any remaining Perl interpreters. #define PERL_SYS_INIT3(argc, argv, env) Perl_sys_init3(argc, argv, env) #define PERL_SYS_TERM() Perl_sys_term() +#define SHUTDOWN_TERM PL_shutdownhook(); + #ifndef PERL_WRITE_MSG_TO_CONSOLE # define PERL_WRITE_MSG_TO_CONSOLE(io, msg, len) PerlIO_write(io, msg, len) #endif diff --git a/unixish.h b/unixish.h index 3950a5a9d85c..cbedd8f50214 100644 --- a/unixish.h +++ b/unixish.h @@ -155,10 +155,10 @@ int afstat(int fd, struct stat *statb); * to work, but must NOT be retained in production code. */ #ifndef PERL_SYS_TERM_BODY # define PERL_SYS_TERM_BODY() \ - ENV_TERM; USER_PROP_MUTEX_TERM; LOCALE_TERM; \ - HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM; \ - OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; \ - PERLIO_TERM; MALLOC_TERM; \ + SHUTDOWN_TERM; ENV_TERM; USER_PROP_MUTEX_TERM; \ + LOCALE_TERM; HINTS_REFCNT_TERM; \ + KEYWORD_PLUGIN_MUTEX_TERM; OP_CHECK_MUTEX_TERM; \ + OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM; \ PLATFORM_SYS_TERM_; #endif diff --git a/win32/win32.c b/win32/win32.c index 7ed2707afbc0..0f54fc61344f 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -5502,6 +5502,7 @@ Perl_win32_init(int *argcp, char ***argvp) void Perl_win32_term(void) { + SHUTDOWN_TERM; HINTS_REFCNT_TERM; OP_REFCNT_TERM; PERLIO_TERM;