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: Unwanted .exe appended to symlinks


Igor Pechtchanski <pechtcha <at> cs.nyu.edu> writes:

> I appreciate the effort you spend to get this right, and hate to ask for
> extras (especially if those are non-standard), but would it be possible to
> add a Cygwin-specific option[*] to ln that disables this?  The reason is
> that I frequently create symlinks to files/directories on network shares,
> and those shares aren't always available.

I can probably do that; all it would do is skip the cygwin-specific syscalls I
make up front to see what spelling to use, and just default to the supplied
spelling.

>  When they aren't, any access to
> them locks up the shell until the SMB request times out (which can take a
> while and isn't interruptible).  Having ln always check the target of the
> symlink will make "ln -s" nigh unusable.

Doing this would only speed up the symlink creation.  Anything that does a stat
on the sometimes-dangling link will still cause a SMB request, with the
corresponding potential pause (even something like 'ls -l' stats a link).

> 	Igor
> [*] I'd suggest --disable-exe-magic (no need to expend a short option)

Sounds like a reasonable name, although it may be a bit misleading ('ln -sf
//net/drive existing' where it is really spelled existing.exe will probably do
the wrong thing, since cygwin's .exe magic will cause ln's stat to see if
existing is there to succeed, but the unlink("existing") to fail).

--
Eric Blake



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


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