public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Erik Bray <erik.m.bray@gmail.com>
To: cygwin@cygwin.com
Subject: Re: Retrieving per-process environment block?
Date: Wed, 30 Nov 2016 10:47:00 -0000	[thread overview]
Message-ID: <CAOTD34YjUOtRD7i9Kcv2xi7W93yVv=c=90Pzydya7DtD5O2W0g@mail.gmail.com> (raw)
In-Reply-To: <237e4e33-4b51-a124-4108-d67e715dcbf0@lysator.liu.se>

On Wed, Nov 30, 2016 at 10:15 AM, Peter Rosin <peda@lysator.liu.se> wrote:
> On 2016-11-30 04:00, Eliot Moss wrote:
>> On 11/29/2016 7:28 PM, Herbert Stocker wrote:
>>
>>> Or we simply copy the variables unconverted to the Windows environment
>>> block, as the Windows env block is not used for anything else - up to
>>> now it is not updated at all.
>>
>> Maybe we could stash them inside one large variable?  Would that help
>> at all?  (It does demand a quoting convention, but since this is all
>> internal stuff, that may not be too hard.)
>
> I believe this is a dead end. The Windows environment block has an
> unacceptable size limit which is circumvented by the internal Cygwin
> handling. Since this is about exposing said Cygwin environment, it
> would simply not work for big environments.

I agree--although I can't off the top of my head recall where I've
read this, I believe there's a deliberate effort in Cygwin to keep the
Windows environment to the bare minimum for Cygwin processes.  Among
other things I imagine it keeps the number of conversions necessary to
a minimum.

And in any case, trying to cache the entire Cygwin environment back
into the Windows environment would be even more overhead than what I'm
proposing which is to store it in shared memory.  My goal is not to
make the Cygwin environment of a process readable from outside
Cygwin--only make it so it can be read from other Cygwin processes by
way of /proc (given the necessary permissions).

Perhaps I'll go ahead and cook up a patch and see what impact it has.
With luck it won't be much--I just don't know how much overhead there
is in open_shared.

Thanks,
Erik

--
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:[~2016-11-30 10:09 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-17 18:05 Erik Bray
2016-11-17 18:11 ` Corinna Vinschen
2016-11-29 15:28   ` Erik Bray
2016-11-29 16:01     ` cyg Simple
2016-11-30 11:03       ` Corinna Vinschen
2016-11-29 16:35     ` Eliot Moss
2016-11-29 17:42       ` Erik Bray
2016-11-29 18:02         ` Andrey Repin
2016-11-30  4:28           ` Herbert Stocker
2016-11-30 10:43             ` Eliot Moss
2016-11-30 10:47               ` Peter Rosin
2016-11-30 10:47                 ` Erik Bray [this message]
2016-11-30 12:29                 ` Corinna Vinschen
2016-11-30 12:36                   ` Corinna Vinschen
2016-11-30 11:36           ` Corinna Vinschen
2016-11-30 11:06       ` Corinna Vinschen
2016-11-30 10:48     ` Corinna Vinschen
2016-11-30 14:49       ` Erik Bray
2016-11-30 15:04         ` Corinna Vinschen

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='CAOTD34YjUOtRD7i9Kcv2xi7W93yVv=c=90Pzydya7DtD5O2W0g@mail.gmail.com' \
    --to=erik.m.bray@gmail.com \
    --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).