Mail Archives: cygwin/2011/02/02/17:20:41
On Feb 2 23:11, Corinna Vinschen wrote:
> On Feb 2 15:01, Eric Blake wrote:
> > On 02/02/2011 02:53 PM, Corinna Vinschen wrote:
> > > [...]
> > > To fix that, we would have to scan the entire path for path components
> > > which contain leading spaces or trailing dots or spaces. That makes
> > > fork even slower than it already is.
> >
> > Well, that would only be if the path is shorter than MAX_PATH (256)
> > bytes, so it's not like we have a quadratic scaling problem over
> > thousands of bytes. Furthermore, using a directory literally named
> > '...' already causes problems for windows programs that ar not long-path
> > aware, so the workaround is no worse than what they currently get from
> > such a path. But you're right, that taking the time to scan for any
> > occurrence of:
> >
> > '.\', './', '/.', ' \', ' /'
> >
> > and checking for five patterns across 256 bytes definitely adds time.
> >
> > > Given that it works fine on Vista and Windows 7 anyway, is it really
> > > worth to add this extra code just to support an old OS in a very rare
> > > situation?
> >
> > Can't we make the scan conditional on the windows version? That is,
> > spend the extra time to keep XP happy, but skip the scan on newer Windows?
>
> I'm not opposed to a pre-Vista workaround. The code should be added to
> the "if (runpath)" code starting at line 494 in spawn.cc. If you have
> an idea how to do this test as fast as possible, please send a patch.
Oh, btw., only three patterns. At this point in the code the slashes
are already converted to backslashes.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat
--
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
- Raw text -