From 92f5653f452e28ff6094fdcc35e280e27470f8ce Mon Sep 17 00:00:00 2001 From: normal Date: Wed, 27 Jun 2018 10:09:33 +0000 Subject: process.c (waitpid_wait): do not set ECHILD prematurely It is possible to have both MJIT and normal child processes alive, so we cannot set ECHILD based on such a guess. We can still elide waitpid(PID <= 0) calls if we have callers in vm->waiting_pids, however. For specs, ensure Process.waitall does not leak MJIT PIDs to Rubyspace. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- spec/mspec/lib/mspec/guards/feature.rb | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'spec/mspec') diff --git a/spec/mspec/lib/mspec/guards/feature.rb b/spec/mspec/lib/mspec/guards/feature.rb index 30984e0cc5..4f1df1cabe 100644 --- a/spec/mspec/lib/mspec/guards/feature.rb +++ b/spec/mspec/lib/mspec/guards/feature.rb @@ -39,3 +39,9 @@ end def with_feature(*features, &block) FeatureGuard.new(*features).run_if(:with_feature, &block) end + +MSpecEnv.class_eval do + def without_feature(*features, &block) + FeatureGuard.new(*features).run_unless(:without_feature, &block) + end +end -- cgit v1.2.3