delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2015/07/27/16:58:48

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: <cygwin.cygwin.com>
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
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: <c03f149c3da900e6843cafcaff102deb.squirrel@oude-webmail.xs4all.nl>
In-Reply-To: <8ee33951118ac7ed81bb3a20e658950c.squirrel@oude-webmail.xs4all.nl>
References: <55B2B644 DOT 8010506 AT towo DOT net> <be0351be5e3aa7b7ba980fc25f9cce0c DOT squirrel AT oude-webmail DOT xs4all DOT nl> <e731c3536912df8739a630e17ab5d8ec DOT squirrel AT oude-webmail DOT xs4all DOT nl> <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" <houder AT xs4all DOT nl>
To: cygwin AT cygwin DOT com
User-Agent: SquirrelMail/1.4.22
MIME-Version: 1.0
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

- Raw text -


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