public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: "Houder" <houder@xs4all.nl>
To: cygwin@cygwin.com
Subject: Re: [ANNOUNCEMENT] Update: mintty 2.1.2
Date: Mon, 27 Jul 2015 21:14:00 -0000	[thread overview]
Message-ID: <c0b154daf39328f95aa143785533482b.squirrel@oude-webmail.xs4all.nl> (raw)
In-Reply-To: <20150727205928.GA15452@calimero.vinschen.de>

> On Jul 27 22:44, Houder wrote:
>> > 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 ?????
>
> What if the DLL is preloaded into processes with certain settings, e.g.
> by some other Windows DLL?  LoadLibrary won't indicate if the DLL has
> been loaded by this call or earlier.

Sigh ... you got me, I am not familiar with Windows ... Anything can happen
under the hood, and I will not know.

I only know, that dwmapi.dll is the only .dll that is loaded by mintty at
run time ... and that is was required to happen after the fork in my case.

(my case being: 'Windows Basic' (Personalization) )

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

  reply	other threads:[~2015-07-27 21:14 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-23 22:41 Thomas Wolff
2015-07-24  7:50 ` Houder
2015-07-24 11:40   ` Thomas Wolff
2015-07-24 13:18     ` Houder
2015-07-24 13:25       ` Houder
2015-07-24 13:34       ` Corinna Vinschen
2015-07-24 22:03       ` Thomas Wolff
2015-07-25 17:03         ` Houder
2015-07-25 20:15           ` Houder
2015-07-26 11:09             ` Houder
2015-07-26 11:58               ` Houder
2015-07-26 16:53                 ` Thomas Wolff
2015-07-26 22:59                   ` Houder
2015-07-27 10:54                     ` Houder
2015-07-27 15:58                       ` Houder
2015-07-27 17:44                         ` Thomas Wolff
2015-07-27 19:29                           ` Corinna Vinschen
2015-07-27 20:44                             ` Houder
2015-07-27 20:58                               ` Houder
2015-07-27 20:59                               ` Corinna Vinschen
2015-07-27 21:14                                 ` Houder [this message]
2015-07-27  7:17             ` Csaba Raduly
2015-07-27  8:50               ` Houder
2015-07-24 13:25     ` Corinna Vinschen
2015-07-27 18:08 ` Buchbinder, Barry (NIH/NIAID) [E]
2015-07-27 22:01   ` Thomas Wolff
2015-07-30 12:00 ` Kptain

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c0b154daf39328f95aa143785533482b.squirrel@oude-webmail.xs4all.nl \
    --to=houder@xs4all.nl \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).