From 30942fc4d89a04792e9eba7d3c4e5009c54e81da Mon Sep 17 00:00:00 2001 From: nagachika Date: Sat, 20 Mar 2021 12:49:24 +0900 Subject: [PATCH] merge revision(s) 2a83650b0fd25719fb6c03bfec7bd895734d3ceb: [Backport #15852] Destroy VM-wise locks before freeing [Bug #15852] --- thread.c | 7 ------- vm.c | 2 ++ 2 files changed, 2 insertions(+), 7 deletions(-) --- thread.c | 5 ----- version.h | 6 +++--- vm.c | 2 ++ 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/thread.c b/thread.c index 708aaa471d..90883b4cff 100644 --- a/thread.c +++ b/thread.c @@ -422,11 +422,6 @@ rb_vm_gvl_destroy(rb_vm_t *vm) { gvl_release(vm); gvl_destroy(vm); - if (0) { - /* may be held by running threads */ - rb_native_mutex_destroy(&vm->waitpid_lock); - rb_native_mutex_destroy(&vm->workqueue_lock); - } } void diff --git a/version.h b/version.h index 14e637c95d..293453a480 100644 --- a/version.h +++ b/version.h @@ -2,11 +2,11 @@ # define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR #define RUBY_VERSION_TEENY 3 #define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR -#define RUBY_PATCHLEVEL 161 +#define RUBY_PATCHLEVEL 162 #define RUBY_RELEASE_YEAR 2021 -#define RUBY_RELEASE_MONTH 2 -#define RUBY_RELEASE_DAY 27 +#define RUBY_RELEASE_MONTH 3 +#define RUBY_RELEASE_DAY 20 #include "ruby/version.h" diff --git a/vm.c b/vm.c index fc144be5b6..0750606bd6 100644 --- a/vm.c +++ b/vm.c @@ -2354,6 +2354,8 @@ ruby_vm_destruct(rb_vm_t *vm) if (objspace) { rb_objspace_free(objspace); } + rb_native_mutex_destroy(&vm->waitpid_lock); + rb_native_mutex_destroy(&vm->workqueue_lock); /* after freeing objspace, you *can't* use ruby_xfree() */ ruby_mimfree(vm); ruby_current_vm_ptr = NULL;