X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:in-reply-to:references:date:subject :from:to:mime-version:content-type:content-transfer-encoding; q= dns; s=default; b=qgVztLkqldNwD9lAVw0xjXS9XQlw6nTn6VRxJIWmFs/+gi pkMf/pFHACUgs2pPBhMpWqTWuP7w+QSIxidDXpAdOiQLpdOmwG7mEpYYznbTGj65 q652J0gpn+owfxvVZIQa9LREvVHpQDttin/X3Nds/RIy2D03iWRoqEc/XPnIQ= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:in-reply-to:references:date:subject :from:to:mime-version:content-type:content-transfer-encoding; s= default; bh=6+P/RB9vz1hlfNP+sR0AMkj6Ry4=; b=qvsNr/Rb78055N9myY5+ hdz/IwncPvl/eVkW35kPEnCM2FaXVL9Nu8qeZDlLBrZRLTK5gpkqSYZtM2tFRhIn ssBH24+yNet+YpkUt1CLuzNfUYQPV/LospCv+tz8TC3p/y0PvFQwGVLgLyxyHnZL odBBQXgatf0tW8VpmJOxoZs= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: 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 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.3 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: lb3-smtp-cloud6.xs4all.net Message-ID: In-Reply-To: <8ee33951118ac7ed81bb3a20e658950c.squirrel@oude-webmail.xs4all.nl> References: <55B2B644 DOT 8010506 AT towo DOT net> <10d3a46960f8ec71784bdf15a0ee6b58 DOT squirrel AT oude-webmail DOT xs4all DOT nl> <1e17310bb0689632cd19fd7648bd9907 DOT squirrel AT oude-webmail DOT xs4all DOT nl> <55B5109A DOT 4010700 AT towo DOT net> <4afa07869c07cd6a57441b221ca5fdf7 DOT squirrel AT oude-webmail DOT xs4all DOT nl> <994a85838723f326327975650e214a79 DOT squirrel AT oude-webmail DOT xs4all DOT nl> <20bcab2c7a6ca2aa1990f8a421b674ae DOT squirrel AT oude-webmail DOT xs4all DOT nl> <55B66DE5 DOT 40104 AT towo DOT net> <20150727192935 DOT GA12449 AT calimero DOT vinschen DOT de> <8ee33951118ac7ed81bb3a20e658950c DOT squirrel AT oude-webmail DOT xs4all DOT nl> Date: Mon, 27 Jul 2015 22:58:26 +0200 Subject: Re: [ANNOUNCEMENT] Update: mintty 2.1.2 From: "Houder" To: cygwin AT cygwin DOT com User-Agent: SquirrelMail/1.4.22 MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-IsSubscribed: yes >> On Jul 27 19:44, Thomas Wolff wrote: >>> Am 27.07.2015 um 17:58 schrieb Houder: >>> >Hi Thomas, >>> > >>> >Moving load_dwm_funcs() did the trick ... >>> > >>> > >>> Thanks again for your analysis. >>> In Control Panel → Performance Information and Tools → Adjust visual >>> effects, >>> it is only the last of the flags, ☐ Use visual styles on windows and >>> buttons, >>> that makes the difference; if deselected, mintty crashes if called from a >>> console or somehow doubly isolated by >>> (setsid mintty &). >>> >>> Apparently, LoadLibrary does not propagate to a forked thread; >> >> Forked process, I hope :) >> >> No, it doesn't. Loading a library is purly process lokal on Windows. >> Cygwin DLLs(*) have special startup code which allows to register them >> in the process and to re-load them in the child process at fork time. >> >> (*) Actually, any DLL using this special entry point would work. >> Native Windows DLLs just don't, usually :} > > Ha, Corinna, you are the expert here, of course :-) > > From MSDN I learned (LoadLibrary() ): > > "Module handles are not global or inheritable. A call to LoadLibrary by one > process does not produce a handle that another process can use in calling > GetProcAddress (as an example). The other process must make its OWN call to > LoadLibrary for the module before calling GetProcAddress" > > Well, ok, alright, that makes sense ... > > However, if pDwmIsCompositionEnabled() returns 1, which will be the case if one > has selected 'Windows 7' i.s.o. 'Windows Basic' (Personalization), > > as an example ... > > it turned out to be possible to invoke load_dwm_funcs() (i.e. LoadLibrary() ) > before the fork to a child withOUT a crash of the child !!!!! > > After all, it is Windows ????? > > No doubt, it will have been documented somewhere (DWM) ... As an follow-up: The "companion" to pDwmIsCompositionEnabled(), i.e. pDwmExtendFrameIntoClientArea() made the child crash -- in update_glass(), Thomas, when 'Windows Basic' had been selected. Both "function pointers" always showed the same addresses, but when 'Windows Basic' had been selected, they turned out to be a jump into 'void'. Henri -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple