wine/server
Eric Pouech 82b0bb3c24 server: Separate console and new group flag (CreateProcess).
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: Eric Pouech <epouech@codeweavers.com>
2023-08-23 17:38:51 +02:00
..
async.c server: Cancel socket asyncs when the last handle in process is closed. 2023-07-20 21:48:39 +02:00
atom.c server: Avoid using wine/port.h. 2021-10-07 18:03:11 +02:00
change.c server: Use the token owner instead of the token user for default object owner. 2022-07-20 22:33:44 +02:00
class.c server: Correctly expose composited parent window and its child on position change. 2022-11-04 19:23:56 +01:00
clipboard.c server: Avoid using wine/port.h. 2021-10-07 18:03:11 +02:00
completion.c server: Avoid using wine/port.h. 2021-10-07 18:03:11 +02:00
console.c conhost.exe: Handle ctrl-\ in Wine. 2023-01-25 10:04:02 +01:00
debugger.c server: Avoid using wine/port.h. 2021-10-07 18:03:11 +02:00
device.c server: Always close previous IRP handle. 2022-03-14 12:00:48 +01:00
directory.c ntdll: Return the required length from NtQueryDirectoryObject(). 2022-04-13 16:25:44 +02:00
event.c server: Add sys/types.h include in a few more files. 2021-10-11 11:44:02 +02:00
fd.c ntdll: Implement FILE_DISPOSITION_POSIX_SEMANTICS. 2023-06-27 22:14:15 +02:00
file.c server: Use the token owner instead of the token user for default object owner. 2022-07-20 22:33:44 +02:00
file.h server: Cancel socket asyncs when the last handle in process is closed. 2023-07-20 21:48:39 +02:00
handle.c server: Cancel socket asyncs when the last handle in process is closed. 2023-07-20 21:48:39 +02:00
handle.h server: Cancel socket asyncs when the last handle in process is closed. 2023-07-20 21:48:39 +02:00
hook.c server: Avoid using wine/port.h. 2021-10-07 18:03:11 +02:00
mach.c server: Avoid a mach port leak on Apple Silicon. 2023-08-10 10:02:35 +09:00
mailslot.c configure: Assume that sys/ioctl.h is available on Unix. 2021-12-09 18:43:51 +01:00
main.c server: Avoid using getopt_long(). 2021-10-05 11:53:08 +02:00
Makefile.in makefiles: Add separate variables for Unix flags and libraries. 2022-06-29 23:23:41 +02:00
mapping.c ntdll: Implement NtQueryVirtualMemory(MemoryImageInformation). 2023-07-03 12:16:49 +02:00
mutex.c server: Add sys/types.h include in a few more files. 2021-10-11 11:44:02 +02:00
named_pipe.c server: Cancel pipe asyncs when the last handle in process is closed. 2023-07-20 21:48:39 +02:00
object.c server: Use the token owner instead of the token user for default object owner. 2022-07-20 22:33:44 +02:00
object.h server: Annotate allocation functions with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC). 2023-03-01 21:39:30 +01:00
process.c server: Separate console and new group flag (CreateProcess). 2023-08-23 17:38:51 +02:00
process.h server: Use the client provided rawinput registered device array. 2022-07-28 20:08:58 +02:00
procfs.c server: Add a platform-specific entry point to initialize registers of a new thread. 2017-07-27 17:04:04 +02:00
protocol.def server: Separate console and new group flag (CreateProcess). 2023-08-23 17:38:51 +02:00
ptrace.c configure: Assume that sys/wait.h is available on Unix. 2021-12-09 18:43:51 +01:00
queue.c server: Pass set_cursor flags in WM_WINE_CLIPCURSOR wparam. 2023-06-16 21:35:58 +02:00
region.c server: Correctly expose composited parent window and its child on position change. 2022-11-04 19:23:56 +01:00
registry.c server: Make x86_64 a supported architecture on ARM64. 2023-05-09 14:28:04 +02:00
request.c configure: Assume that sys/wait.h is available on Unix. 2021-12-09 18:43:51 +01:00
request.h server: Separate console and new group flag (CreateProcess). 2023-08-23 17:38:51 +02:00
security.h server: Use the token owner instead of the token user for default object owner. 2022-07-20 22:33:44 +02:00
semaphore.c server: Add sys/types.h include in a few more files. 2021-10-11 11:44:02 +02:00
serial.c configure: Assume that sys/ioctl.h is available on Unix. 2021-12-09 18:43:51 +01:00
signal.c configure: Stop checking for poll.h and sys/poll.h - always use poll.h. 2021-10-31 17:56:54 +01:00
sock.c server: Don't consider non-pending poll requests when reselecting socket. 2023-08-14 13:32:26 +02:00
symlink.c server: Implement the \??\GLOBALROOT symbolic link. 2021-11-25 21:43:49 +01:00
thread.c server: Send the APC call data as vararg in the select request. 2023-06-06 21:51:43 +02:00
thread.h ntdll: Avoid accessing the I/O status block in wait_async(). 2021-05-24 11:32:28 +02:00
timer.c server: Avoid using wine/port.h. 2021-10-07 18:03:11 +02:00
token.c server: Use the token owner instead of the token user for default object owner. 2022-07-20 22:33:44 +02:00
trace.c server: Separate console and new group flag (CreateProcess). 2023-08-23 17:38:51 +02:00
unicode.c server: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:58:49 +02:00
unicode.h server: Annotate allocation functions with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC). 2023-03-01 21:39:30 +01:00
user.c
user.h server: Pass set_cursor flags in WM_WINE_CLIPCURSOR wparam. 2023-06-16 21:35:58 +02:00
window.c server: Allow creating a real explorer desktop window for invisible window stations. 2023-07-03 22:15:42 +02:00
wineserver.de.UTF-8.man.in server: Move WineHQ URLs to https. 2017-12-01 09:23:26 +01:00
wineserver.fr.UTF-8.man.in server: Move WineHQ URLs to https. 2017-12-01 09:23:26 +01:00
wineserver.man.in server: Move WineHQ URLs to https. 2017-12-01 09:23:26 +01:00
winstation.c server: Update the DF_WINE_CREATE_DESKTOP desktop flag on opening. 2023-06-15 22:10:51 +02:00