X-Spam-Check-By: sourceware.org Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Subject: RE: LD_PRELOAD regression on 1.5.19-4 ? no more loaded library in child process Date: Tue, 31 Jan 2006 09:52:36 +0100 Message-ID: <5CD8C8F9F151D142922161D4CF32F9400573F60B@exch-lv03.intl.businessobjects.com> From: "Louis Lecaroz" To: 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 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id k0V8xZ29032762 -----Original Message----- From: Christopher Faylor [mailto:cgf-no-personal-reply-please AT cygwin DOT com] Sent: lundi 30 janvier 2006 18:36 To: cygwin AT cygwin DOT com Subject: Re: LD_PRELOAD regression on 1.5.19-4 ? no more loaded library in child process >>That's two requests that you follow the guidelines at this page now and >>you still haven't completely complied. I will try to fully complied to the guidelines in my next communication. >>Since you have now (finally) informed us that you are using a non-cygwin >>binaries, then please read Brian Ford's response to your question. Cygwin >>now uses a more efficient mechanism for communicating the environment to >>cygwin processes. It does not fill out the windows environment if it >>knows that the process being started is using the cygwin DLL. That's explain that I felt, as the child process was inheriting from the parent environment everytime but not non-cygwin DLLs introduced through the LD_PRELOAD in these child process... Is there a flag or a way to enable environment variable to be propaged throught the Win32 environment as done before on 1.5.18-x or do I have to use DECLARE_CYGWIN_DLL(Entry) & other mechanisms for having my DllMain called as I do specifics initializations for processes & threads. but that's means compiling all my source containing also assembler & lot of specifics things under gcc :( Or do this code will help me for having Cygwin environment variables propagated & set in my MSVC dll loaded throught LD_PRELOAD ? by calling the code below is the child process will have his Win32 environment settings set correctly & "retrievable" through GetEnvironmentString() & other Win32 std apis? Or should I have also to call throught getprocaddress() (after having called LoadLibrary on cygwin1.dll) some cygwin C std methods like getenv() for retrieving cygwin environment variables without porting my code under gcc & staying with microsoft dev studio 2003 ? HMODULE h = LoadLibrary("cygwin1.dll"); void (*init)() = GetProcAddress(h, "cygwin_dll_init"); init(); From your point of view, what is the best way for retrieving & inheriting in non cygwin DLL loaded throught LD_PRELOAD of cygwin environment variables ? thx in advance for your future answers, Louis -- 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/