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 Message-ID: <1031045914.3d74831ad243d@mail.broadpark.no> Date: Tue, 3 Sep 2002 11:38:34 +0200 From: dvasaru AT broadpark DOT no To: cygwin AT cygwin DOT com Subject: Re: A Simple Real World Benchmark for cygwin References: <20020902155542 DOT GC14051 AT redhat DOT com> <20020902220234 DOT GA22844 AT redhat DOT com> <20020903102756 DOT V12899 AT cygbert DOT vinschen DOT de> In-Reply-To: <20020903102756.V12899@cygbert.vinschen.de> MIME-Version: 1.0 Content-Type: text/plain; charset=windows-1252;q=1.0 Content-Transfer-Encoding: 8bit User-Agent: Internet Messaging Program (IMP) 3.0 X-Originating-IP: 192.18.243.4 Quoting Corinna Vinschen : > Uhm... it should have nothing to do with NTFS vs. other FS. The shortcut > symlinks are used on all FS. That's what I thought to begin with, but cygwin cunningly uses Extended Attributes where available, bypassing the check_shortcut and the whole COM world altogether on NTFS. > The question is if we can drop CoUninitialize() completely. If the call > to CoUninitialize() is dropped, it should not matter to call CoInitialize() > multiple times since it should only return a "The COM library is already > initialized on this thread" return code. That shouldn't take that much > time. The slowness results from the need to load DLLs and such stuff. To quote from the MSDN: "To close the COM library gracefully, each successful call to CoInitialize or CoInitializeEx, including those that return S_FALSE, must be balanced by a corresponding call to CoUninitialize" Another relevant quote: "Because there is no way to control the order in which in-process servers are loaded or unloaded, it is not safe to call CoInitialize, CoInitializeEx, or CoUninitialize from the DllMain function" To accomodate cygwin-based COM users, one should probably swallow the MSDN prescription and find a better place to call CoInit/CoUninit. On the other hand, if the shortcut file format is known(?), one could maybe bypass the COM/ IShellXXXX interfaces completely and read the link directly from the file. Dan -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/