exec*() bug

Eric Blake eblake@redhat.com
Tue Apr 27 20:44:00 GMT 2010


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.

-- 
Eric Blake   eblake@redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://cygwin.com/pipermail/cygwin/attachments/20100427/940aff6c/attachment.sig>


More information about the Cygwin mailing list