Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Sat, 4 Oct 2003 13:44:55 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: cygpath hangs from postinstall scripts when called like $(cygpath -S) but not otherwise Message-ID: <20031004174455.GD31073@redhat.com> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <1065241514 DOT 18546 DOT 19 DOT camel AT localhost> <00dd01c38a7b$fbfc91f0$12760251 AT ximenes> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.1i On Sat, Oct 04, 2003 at 10:52:26AM -0400, Igor Pechtchanski wrote: >On Sat, 4 Oct 2003, Cliff Hones wrote: > >> I ran cygcheck on cygpath, and was surprised to discover >> that it has a dependence on msvcrt (as well as cygwin1): >> >> $ cygcheck /bin/cygpath.exe >> D:/cygwin/bin/cygpath.exe >> D:/cygwin/bin\cygwin1.dll >> D:\WINNT\system32\KERNEL32.dll >> D:\WINNT\system32\NTDLL.DLL >> D:\WINNT\system32\SHELL32.DLL >> D:\WINNT\system32\GDI32.DLL >> D:\WINNT\system32\USER32.DLL >> D:\WINNT\system32\ADVAPI32.DLL >> D:\WINNT\system32\RPCRT4.DLL >> D:\WINNT\system32\SHLWAPI.DLL >> D:\WINNT\system32\msvcrt.dll >> D:\WINNT\system32\COMCTL32.DLL >> >>I thought that using the msvcrt and cygwin1 dll's in the same >>executable was likely to cause crashes or hangs - is this no longer the >>case, or could this be the problem with the postinstall? > >Wow! Good thinking, Cliff! I think you may be on to something... ISTM >that the problem could manifest itself when running from setup as >opposed to from the shell because setup is a Windows program, so some >MSVCRT functions may be found before the Cygwin ones... We could test >by using "cygstart cygpath" or "run cygpath" or something. I don't know what the statement "some MSVCRT functions may be found before the Cygwin ones" means. Who's going to find these functions? cygpath.exe is not going to accidentally use ar function with the same name from another DLL. That's not how it works. msvcrt is being loaded by SHLWAPI.DLL so there isn't much likelihood of toe stepping between it and cygwin. I would suspect that cygpath isn't the only program which loads msvcrt in this fashion. There's not much we can do about it, and if it was a problem, I think we'd know about it by now. Adding cygstart just adds another non-cygwin process in the mix, causing cygwin's exec stub to behave differently. -- 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/