From 320d7c54ba01a6a19ebec25dadab7196da95f3e7 Mon Sep 17 00:00:00 2001 From: k0kubun Date: Fri, 19 Oct 2018 15:08:55 +0000 Subject: mjit.c: don't let MJIT.pause hang on full active units test/ruby/test_rubyvm_mjit.rb: add reproductive test [Bug #15071] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- mjit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mjit.c') diff --git a/mjit.c b/mjit.c index 87b4a3e990..6ae68e30b7 100644 --- a/mjit.c +++ b/mjit.c @@ -647,7 +647,7 @@ mjit_pause(int wait_p) tv.tv_sec = 0; tv.tv_usec = 1000; - while (unit_queue.length > 0) { + while (unit_queue.length > 0 && active_units.length < mjit_opts.max_cache_size) { /* inverse of condition that waits for mjit_worker_wakeup */ CRITICAL_SECTION_START(3, "in mjit_pause for a worker wakeup"); rb_native_cond_broadcast(&mjit_worker_wakeup); CRITICAL_SECTION_FINISH(3, "in mjit_pause for a worker wakeup"); -- cgit v1.2.3