Side-by-side configuration is incorrect reported as permission denied

Christopher Faylor
Tue Aug 14 03:12:00 GMT 2012

On Tue, Aug 14, 2012 at 02:07:32AM +0200, Pawel Jasinski wrote:
>How about this one. Bash has already some cygwin specific stuff.
>rejap <at> win7dev /usr/src/bash-4.1.10-4/src/bash-4.1
>$ diff -uN execute_cmd.c.orig execute_cmd.c
>--- execute_cmd.c.orig  2012-08-14 00:36:57.092722900 +0200
>+++ execute_cmd.c       2012-08-14 01:50:03.248969800 +0200
>@@ -4838,6 +4838,10 @@
>            }
> #endif
>          errno = i;
>+#if __CYGWIN__
>+      if (errno==EACCES && GetLastError() == ERROR_SXS_CANT_GEN_ACTCTX)
>+          errno = ELIBBAD;
>          file_error (command);
>        }
>       return ((i == ENOENT) ? EX_NOTFOUND : EX_NOEXEC);        /* XXX
>Posix.2 says that exit status is 126 */

Why would we do that instead of patching the DLL?  That doesn't make
any sense.

Are you somehow not getting the fact that the DLL was going to be
changed despite the fact that I said I was going to do it?  This has
been done.  You don't need to do anything here.

Please drop this now.  It's clear that no one has any clever ideas about
how to make this work that doesn't involve patching every application
that uses errno.  So, this discussion should just die.


Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list