From 63a21cbdd16dca6063599790c2b7ab8dcd27997e Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Fri, 16 Mar 2018 18:22:23 -0500 Subject: [PATCH] io.launcher.windows: Actually support +new-group+ and +new-session+. DETACHED_PROCESS doesn't do what we want. Also, the check for `windows?`` in a Windows vocabulary is quite suspect. --- basis/io/launcher/windows/windows.factor | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/basis/io/launcher/windows/windows.factor b/basis/io/launcher/windows/windows.factor index 89032eed79..4897aa07f0 100755 --- a/basis/io/launcher/windows/windows.factor +++ b/basis/io/launcher/windows/windows.factor @@ -108,7 +108,14 @@ TUPLE: CreateProcess-args : fill-dwCreateFlags ( process args -- process args ) 0 pick pass-environment? [ CREATE_UNICODE_ENVIRONMENT bitor ] when - pick detached>> os windows? and [ DETACHED_PROCESS bitor ] when + pick group>> [ + { + { +same-group+ [ ] } + { +new-session+ [ DETACHED_PROCESS bitor CREATE_NEW_PROCESS_GROUP bitor ] } + { +new-group+ [ DETACHED_PROCESS bitor CREATE_NEW_PROCESS_GROUP bitor ] } + [ drop ] + } case + ] when* pick lookup-priority [ bitor ] when* >>dwCreateFlags ;