From fc83ebb037bfecfd5abfd6dc92517870d65541b3 Mon Sep 17 00:00:00 2001 From: shirosaki Date: Sat, 7 Apr 2012 14:10:25 +0000 Subject: [PATCH] * test/ruby/test_thread.rb (TestThreadGroup#test_thread_timer_and_interrupt): skip on Windows. Process.kill cannot kill a subprocess if CREATE_NEW_PROCESS_GROUP flag is not specified in a call to CreateProcessW(). * win32/win32.c (CreateChild): revert the usage of CREATE_NEW_PROCESS_GROUP flag for compatibility. [ruby-core:43245][Bug #6131] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 11 +++++++++++ test/ruby/test_thread.rb | 1 + win32/win32.c | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 29c2f5e3b0..5b5af7f6d3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +Sat Apr 7 22:32:00 2012 Hiroshi Shirosaki + + * test/ruby/test_thread.rb + (TestThreadGroup#test_thread_timer_and_interrupt): skip on Windows. + Process.kill cannot kill a subprocess if CREATE_NEW_PROCESS_GROUP + flag is not specified in a call to CreateProcessW(). + + * win32/win32.c (CreateChild): revert the usage of + CREATE_NEW_PROCESS_GROUP flag for compatibility. + [ruby-core:43245][Bug #6131] + Sat Apr 7 10:28:40 2012 Aaron Patterson * ext/psych/lib/psych.rb: bumping up psych version to match release. diff --git a/test/ruby/test_thread.rb b/test/ruby/test_thread.rb index 8a3286871c..8d6a87b705 100644 --- a/test/ruby/test_thread.rb +++ b/test/ruby/test_thread.rb @@ -681,6 +681,7 @@ class TestThreadGroup < Test::Unit::TestCase end def test_thread_timer_and_interrupt + skip 'Process.kill cannot kill a subprocess' if /mswin|mingw/ =~ RUBY_PLATFORM bug5757 = '[ruby-dev:44985]' t0 = Time.now.to_f pid = nil diff --git a/win32/win32.c b/win32/win32.c index 310eb85340..0437b05441 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -1137,7 +1137,7 @@ CreateChild(const WCHAR *cmd, const WCHAR *prog, SECURITY_ATTRIBUTES *psa, aStartupInfo.hStdError = GetStdHandle(STD_ERROR_HANDLE); } - dwCreationFlags = (CREATE_NEW_PROCESS_GROUP | NORMAL_PRIORITY_CLASS); + dwCreationFlags = NORMAL_PRIORITY_CLASS; if (lstrlenW(cmd) > 32767) { child->pid = 0; /* release the slot */