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.
paths
Doug Coleman 2018-03-16 18:22:23 -05:00
parent f164f47e41
commit 63a21cbdd1
1 changed files with 8 additions and 1 deletions

View File

@ -108,7 +108,14 @@ TUPLE: CreateProcess-args
: fill-dwCreateFlags ( process args -- process args ) : fill-dwCreateFlags ( process args -- process args )
0 0
pick pass-environment? [ CREATE_UNICODE_ENVIRONMENT bitor ] when 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* pick lookup-priority [ bitor ] when*
>>dwCreateFlags ; >>dwCreateFlags ;