aboutsummaryrefslogtreecommitdiffstats
path: root/string.c
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-05-24 00:34:12 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-05-24 00:34:12 +0000
commit592c98f3b8cfec4931ec5e1bbd6da601cd8d9975 (patch)
tree46236fe68a586588be99183e43754d7a1d62cda8 /string.c
parentbbee3eb1374a4352209d08b7583ad74aa24cfd3d (diff)
downloadruby-592c98f3b8cfec4931ec5e1bbd6da601cd8d9975.tar.gz
rubyspec/core/io/popen_spec: avoid lingering "ruby -e sleep" process
The ruby_cmd helper blindly escapes code blocks passed to it, causing "sleep" to be quoted in the command-line. This quoting results in IO.popen using a subshell (/bin/sh) to run the given string command instead of invoking the Ruby executable directly. Thus, IO.popen would only see the PID of the subshell via IO#pid, and merely sending SIGKILL to the subshell would not result in the child ("ruby -e sleep") being killed. This problem with lingering ruby processes was easier to reproduce on slow or heavily-loaded systems using low-scheduling priority (e.g. "chrt -i 0 make test-rubyspec") git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
0 files changed, 0 insertions, 0 deletions