This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


On 08/13/2012 01:27 AM, Corinna Vinschen wrote:
On Aug 12 18:49, Andrew DeFaria wrote:
On 08/12/2012 01:35 PM, Earnie Boyd wrote:
On Sun, Aug 12, 2012 at 1:56 PM, Pawel Jasinski wrote:
If you can find a nice Linux errno which maps from ERROR_SXS_CANT_GEN_ACTCTX
to something other than EACCES I'd be happy to change Cygwin.
[...]
Now I know that there are POSIX error codes and people tend to check
error numbers and you want to put the closest match of a POSIX errno
to the Windows error message. But why couldn't you just print to
stderr the error message that Windows returned perhaps in addition
to setting syserr to "Permission denied"?
Do you really want that?
I think it would be helpful.
There's a difference between cmd and Cygwin.  Cmd is a shell, Cygwin is
just the underlying shared lib providing a generic API.
OK so bash...
If an error occurs, it's the shell's responsibility to print an error
message in the first place.  All messages printed by Cygwin are not
controllable by the calling application.  Therefore we usually only
print messages from the DLL if something very serious happens from the
DLLs perspective.  Some arbitrary Windows error code returned from
CreateProcess is usually not something actually serious.  There was
just "some" reason that an application couldn't be started.
IMHO "some" reason that the user should be alerted about. How is it helpful to the end user to suppress the error message?
Also, where do you draw the border?  Which windows error code is serious
enough to justify a (pretty intrusive!) error message from the underlying
library and which isn't?
I would draw the border at "if there's an error message".
As cgf pointed out, Windows has zillions of error codes.  We wouldn't
want to generate the same number of POSIX-like error codes.  It wouldn't
make a lot of sense since POSIX applications only test for a limited,
expected number of error codes, and it might break things.
I was talking error *messages* not error *codes*.
Having said that, EACCES is not bad as far as error codes go in this
case, but I like Cliff Hones' idea to choose another existing POSIX
error like ELIBACC, "Can not access a needed shared library", which
might make more sense in this scenario.  I'd also like ENOPKG, "Package
not installed".
Again, I was talking error messages not error codes.
--
Andrew DeFaria <http://defaria.com>
Why is there only one Monopolies commission?


-- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]