X-Spam-Check-By: sourceware.org
X-Mail-Handler: MailHop Outbound by DynDNS
X-Report-Abuse-To: abuse@dyndns.com (see http://www.mailhop.org/outbound/abuse.html for abuse reporting information)
X-MHO-User: postmaster@innobec.com
Message-ID: <44F5AC54.4000001@innobec.com>
Date: Wed, 30 Aug 2006 11:18:44 -0400
From: Pierre Baillargeon <pbaillargeon@innobec.com>
User-Agent: Thunderbird 1.5.0.5 (Windows/20060719)
MIME-Version: 1.0
To: cygwin@cygwin.com
Subject: Re: no message or dialog when a DLL is missing
References: <44ECC152.3020503@innobec.com> <Pine.GSO.4.63.0608231740100.19954@access1.cims.nyu.edu> <44EDA26C.6000603@innobec.com> <Pine.GSO.4.63.0608241225350.3875@access1.cims.nyu.edu> <44EDF86F.6030107@innobec.com> <Pine.GSO.4.63.0608241839590.3231@access1.cims.nyu.edu> <44EEF080.1020407@innobec.com>
In-Reply-To: <44EEF080.1020407@innobec.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-SA-Do-Not-Run: IfYouSaySo
X-SA-Exim-Connect-IP: 192.168.62.162
X-SA-Exim-Mail-From: pbaillargeon@innobec.com
X-SA-Exim-Scanned: No (on rodriguez); SAEximRunCond expanded to false
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

I've identified the reason why DLL don't show up: in the startup code 
(winsup/cygwin/dcrt0.cc), in dll_crt0_0(), Win32's SetErrorMode() is 
called to suppress all OS error dialogs. It's there since 1998 according 
to the changelog, so it must not bother many people... I guess it would 
be ugly to add error messages for missing DLLs all the way up from the 
low-level spawn/exec/etc.

And in it's usual nice design practice, SetErrorMode() is a global 
setting affecting all threads in the process, so changing it temporarily 
in the spawn()/exec() function could be bad.

-- 
Pierre Baillargeon
Innobec

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

