delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/08/30/11:19:01

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019