• Eric Pouech's avatar
    server: Separate console and new group flag (CreateProcess). · 82b0bb3c
    Eric Pouech authored
    We were using bit 1 of RTL_USER_PROCESS_PARAMETERS for two different cases:
    - rightfully, as a sign to block ctrl-c events from being processed by
      handlers (and by default, terminating the process)
    - But this was also used to request for the creation of a new process group.
    
    This patch properly separates the two use cases, by using the
    ProcessGroupId field in RTL_USER_PROCESS_PARAMETERS (checked that Win10
    behaves as this patch in RtlCreateUserProcess wrt.
    RTL_USER_PROCESS_PARAMETERS ProcessGroupId usage input/output).
    
    Introduce process_group_id in startup_info_t and use it to pass it to
    server. ProcessGroupId field in RTL_USER_PROCESS_PARAMETERS is now properly
    set.
    
    Note: this will change some external behavior.
    - before this patch, a child process created with Ctrl-C disabled
      (ConsoleFlags set), couldn't turn it on as the process was detached
      from unix console.
    - now, SIGINT handling is moved to kernelbase (and can be turned on/off at
      application will),
    - when creating a new windows group id, the child will be detached from
      unix console, so will no longer receives the SIGINT from ctrl-c in unix
      console (if parent was attached to this unix console).
    Signed-off-by: 's avatarEric Pouech <epouech@codeweavers.com>
    82b0bb3c
Name
Last commit
Last update
..
gitlab Loading commit data...
sfnt2fon Loading commit data...
widl Loading commit data...
winapi Loading commit data...
winebuild Loading commit data...
winedump Loading commit data...
winegcc Loading commit data...
winemaker Loading commit data...
wmc Loading commit data...
wrc Loading commit data...
Makefile.in Loading commit data...
buildimage Loading commit data...
config.guess Loading commit data...
config.sub Loading commit data...
examine-relay Loading commit data...
findfunc Loading commit data...
install-sh Loading commit data...
make_announce Loading commit data...
make_makefiles Loading commit data...
make_requests Loading commit data...
make_specfiles Loading commit data...
make_unicode Loading commit data...
make_xftmpl.c Loading commit data...
makedep.c Loading commit data...
runtest Loading commit data...
tools.h Loading commit data...
wineapploader.in Loading commit data...
winewrapper Loading commit data...