[PATCH v3 5/5] dlls/ntdll: allocate a console for initial CUI process when not attached to a Unix console
Eric Pouech
eric.pouech at orange.fr
Sun Feb 20 08:54:20 CST 2022
Le 20/02/2022 à 13:20, Jacek Caban a écrit :
> Hi Eric,
>
> On 2/17/22 10:10, Eric Pouech wrote:
>> suggested by Jacek Caban
>>
>> Signed-off-by: Eric Pouech <eric.pouech at gmail.com>
>>
>> ---
>> dlls/ntdll/unix/env.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/dlls/ntdll/unix/env.c b/dlls/ntdll/unix/env.c
>> index c7e0674e083..a69d0f26e87 100644
>> --- a/dlls/ntdll/unix/env.c
>> +++ b/dlls/ntdll/unix/env.c
>> @@ -1657,6 +1657,8 @@ static void get_initial_console(
>> RTL_USER_PROCESS_PARAMETERS *params )
>> wine_server_fd_to_handle( 1, GENERIC_WRITE|SYNCHRONIZE,
>> OBJ_INHERIT, ¶ms->hStdOutput );
>> wine_server_fd_to_handle( 2, GENERIC_WRITE|SYNCHRONIZE,
>> OBJ_INHERIT, ¶ms->hStdError );
>> + params->ConsoleHandle = CONSOLE_HANDLE_ALLOC;
>> +
>> /* mark tty handles for kernelbase, see init_console */
>> if (params->hStdInput && isatty(0))
>> {
>
>
> Looking more at this, I'm not sure if it's a good idea, at least in
> its current form. There are situations where user would not want the
> console to be created. For example, user may have a Unix script that
> runs some non-interactive Windows commands with Wine, which is not
> attached to any console. I guess that some heuristic like if
> (!params->hStdInput && !params->hStdOutput) should mostly catch such
> cases, but it's still not perfect. I guess users could still use
> something like "start /b" to be explicit, but it's not obvious if it's
> worth it.
agreed (may be you skipped the bottom note in cover mail [PATCH v3 0/5]
.... https://www.winehq.org/pipermail/wine-devel/2022-February/208328.html)
>
>
> BTW, I noticed that start.exe CREATE_NEW_CONSOLE handling will not be
> right with your patches. "/b" option should probably use
> DETACHED_PROCESS.
yes. and likely the CREATE_NEW_CONSOLE init is not needed either.
I'll repost
thanks for the review
>
>
> Thanks,
>
> Jacek
>
>
More information about the wine-devel
mailing list