From f4b976aab99800b51f0e54e7f7e864d12b8ecb0c Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Wed, 1 Apr 2020 18:03:09 +0200 Subject: [PATCH] Clear errno before CreateProcess for MinGW. * libguile/posix-w32.c (start_child): Avoid recursing (and breaking any PIPE setup) when running in WINE. --- libguile/posix-w32.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libguile/posix-w32.c b/libguile/posix-w32.c index 44f033da1..2bcc31696 100644 --- a/libguile/posix-w32.c +++ b/libguile/posix-w32.c @@ -685,6 +685,10 @@ start_child (const char *exec_file, char **argv, cmdline = prepare_cmdline (exec_file, (const char * const *)argv, bin_sh_replaced); + /* When running in WINE, chances are we hit ENOENT (possibly + translated to ENOEXEC). */ + errno = 0; + /* All set and ready to fly. Launch the child process. */ if (!CreateProcess (progfile, cmdline, NULL, NULL, TRUE, 0, env_block, NULL, &si, &pi))