exec*() bug

Christopher Faylor cgf-use-the-mailinglist-please@cygwin.com
Tue Apr 27 23:08:00 GMT 2010


On Tue, Apr 27, 2010 at 02:44:14PM -0600, Eric Blake wrote:
>On Linux, 'env ./.' triggers an exec() that fails with EACCES, and exits
>with status 126 (file was located, but cannot be executed).  But on
>Cygwin, the exec() fails with ENOENT, and env exits with status 127
>(file could not be located).  This is particularly insidious, because
>some programs depend on knowing the difference between the two types of
>exec() errors (not present, vs. not executable).  For example, one test
>of the findutils testsuite fails, because 'echo | xargs /' gives the
>wrong status.

That's an easy one to fix.  The code was already trying to do the right
thing but it was confused by .exe handling.  I've checked in a fix
and am generating a snapshot now.

cgf

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list