merge revision(s) 2a83650b0f: [Backport #15852]

Destroy VM-wise locks before freeing [Bug #15852]

	---
	 thread.c | 7 -------
	 vm.c     | 2 ++
	 2 files changed, 2 insertions(+), 7 deletions(-)
This commit is contained in:
NARUSE, Yui 2021-03-11 20:06:14 +09:00
parent 05fa06a4ed
commit 0074ea2d83
3 changed files with 3 additions and 8 deletions

View file

@ -424,13 +424,6 @@ rb_vm_gvl_destroy(rb_global_vm_lock_t *gvl)
{
gvl_release(gvl);
gvl_destroy(gvl);
if (0) {
rb_vm_t *vm = GET_VM();
/* may be held by running threads */
rb_native_mutex_destroy(&vm->waitpid_lock);
rb_native_mutex_destroy(&vm->workqueue_lock);
}
}
void

View file

@ -12,7 +12,7 @@
# define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR
#define RUBY_VERSION_TEENY 0
#define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR
#define RUBY_PATCHLEVEL 49
#define RUBY_PATCHLEVEL 50
#define RUBY_RELEASE_YEAR 2021
#define RUBY_RELEASE_MONTH 3

2
vm.c
View file

@ -2653,6 +2653,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;