]> gitweb.factorcode.org Git - factor.git/commitdiff
io.launcher.windows: Actually support +new-group+ and +new-session+.
authorDoug Coleman <doug.coleman@gmail.com>
Fri, 16 Mar 2018 23:22:23 +0000 (18:22 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Fri, 16 Mar 2018 23:22:23 +0000 (18:22 -0500)
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

index 89032eed795f65ee233ebcc7745b51c07e64ee61..4897aa07f08fe90434f81e7c75e69c4f6c38d09d 100755 (executable)
@@ -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 ;