From aca7ca6bbaf7e86b0999da53bc33be265ba6243c Mon Sep 17 00:00:00 2001 From: Magnus Svensson Date: Fri, 6 Feb 2009 08:38:24 +0100 Subject: [PATCH] Bug#42641 mtr.pl fails to run within JobObject - Allow the new process to break away from any job that this process is part of so that it can be assigned to the new JobObject we just created. This is safe since the new JobObject is created with the JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE flag, making sure it will be terminated when the last handle to it is closed(which is owned by this process). --- mysql-test/lib/My/SafeProcess/safe_process_win.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mysql-test/lib/My/SafeProcess/safe_process_win.cc b/mysql-test/lib/My/SafeProcess/safe_process_win.cc index 8aa603a8793..640254875c9 100755 --- a/mysql-test/lib/My/SafeProcess/safe_process_win.cc +++ b/mysql-test/lib/My/SafeProcess/safe_process_win.cc @@ -237,12 +237,19 @@ int main(int argc, const char** argv ) /* Create the process suspended to make sure it's assigned to the Job before it creates any process of it's own + + Allow the new process to break away from any job that this + process is part of so that it can be assigned to the new JobObject + we just created. This is safe since the new JobObject is created with + the JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE flag, making sure it will be + terminated when the last handle to it is closed(which is owned by + this process). */ if (CreateProcess(NULL, (LPSTR)child_args, NULL, NULL, TRUE, /* inherit handles */ - CREATE_SUSPENDED, + CREATE_SUSPENDED | CREATE_BREAKAWAY_FROM_JOB, NULL, NULL, &si,