From eb38fb670bb74522f253cca440bccfd8d8d63c3c Mon Sep 17 00:00:00 2001 From: normal Date: Fri, 30 Nov 2018 03:56:29 +0000 Subject: vm_trace.c: workqueue as thread-safe version of postponed_job postponed_job is safe to use in signal handlers, but is not thread-safe for MJIT. Implement a workqueue for MJIT thread-safety. [Bug #15316] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- mjit.c | 14 -------------- 1 file changed, 14 deletions(-) (limited to 'mjit.c') diff --git a/mjit.c b/mjit.c index 46223af492..1f9140b7a8 100644 --- a/mjit.c +++ b/mjit.c @@ -106,20 +106,6 @@ mjit_gc_finish_hook(void) CRITICAL_SECTION_FINISH(4, "mjit_gc_finish_hook"); } -/* Wrap critical section to prevent [Bug #15316] */ -void -mjit_postponed_job_register_start_hook(void) -{ - CRITICAL_SECTION_START(4, "mjit_postponed_job_register_start_hook"); -} - -/* Unwrap critical section of mjit_postponed_job_register_start_hook() */ -void -mjit_postponed_job_register_finish_hook(void) -{ - CRITICAL_SECTION_FINISH(4, "mjit_postponed_job_register_finish_hook"); -} - /* Iseqs can be garbage collected. This function should call when it happens. It removes iseq from the unit. */ void -- cgit v1.2.3