Mail Archives: cygwin/2014/10/27/19:14:09
On 27/10/14 23:39, Corinna Vinschen wrote:
> On Oct 27 09:28, Luke Kendall wrote:
>> On 24/10/14 21:37, Corinna Vinschen wrote:
>>> On Oct 24 17:35, Luke Kendall wrote:
>>>> On 24/10/14 02:43, Corinna Vinschen wrote:
[snip]
>> Sure, and I thought you'd prefer the American, but I'm happy to see
British
>> spelling.
>
> So, so, it's always fun to wake up people with an unusual word
[...]
>
> And the anwser is, yes, just as on Linux or other UNIXy systems. You
> have one primary group ("None" on non-domain machines, default "Domain
> Users" on domain machines), and an arbitrary number of supplementary
> groups. Have a look into the output of `id'.
Thanks!
>>>> 'Cygwin process tree, which[ever?] first process'
>>>
>>> Hmm. Sounds bad, right?
>> Um, awkward and not quite clear, yes.
>>> What I'm trying to say is, if the first
>>> process of a process tree found cygserver isn't started, it will
not try
>>> to ask cygserver again, and it will propagate the lack of cygserver to
>>> the child processes, so they will neither try to contact cygserver. If
>>> you have a catchy way to phrase this in less words, I'd be quite happy.
>>>
>>> Btw.
>>>
>>> In the document I'm talking of the "first process of a Cygwin process
>>> tree" throughout. Is it clear at all what that means?
>>
>> I think your description is reasonably clear.
>>
>>> For a Cygwin
>>> Terminal session that would be the mintty process. If you have this:
>>>
>>> Cygwin process 1 starts Cygwin process 2
>>> Cygwin process 2 starts CMD.EXE
>>> CMD.EXE starts Cygwin process 3
>>> Cygwin process 3 starts Cygwin process 4
>>>
>>> Then you have two Cygwin process trees with Cygwin process 1 and
>>> Cygwin process 3 being the "first processes in a Cygwin process tree".
>>>
>>> Is there a better way to phrase this in English? Would it make more
>>> sense to use "parent" or "grandparent" for the first process? Or
>>> any other expression?
>>
>> Hmm.
>>
>> Well, you open the section by saying:
>>
>> "The information fetched from file or the Windows account database
is cached
>> by the process. The cached information is inherited by child processes."
>>
>> What about if you said:
>>
>> "The information fetched (from file or from the Windows account
database),
>> is cached by the first process in the process tree. This cached
information
>> is inherited by every child process."
>
> Uh, that wouldn't be quite right. Every process calling getpwuid and
> friends caches the account information it got. So if process A starts
> B, and B starts C, process C inherits the combined cached account
> information from A and B.
Ah.
>> A little later you say:
>>
>> "If cygserver is running it will provide passwd and group entry
caching for
>> all processes in a Cygwin process tree, which first process has been
started
>> after cygserver."
>>
>> Maybe:
>>
>> "If cygserver is running, it will provide passwd and group entry
caching for
>> all processes in every Cygwin process tree started after cygserver."
>
> Sounds much better.
>
>> But what I hadn't realised until I read your reply, above, was that if
>> you're not running cygserver, that if a Cygwin process is started from a
>> Windows command in a Cygwin process tree, that new Cygwin process is the
>> root of a new Cygwin process tree.
>>
>> I wonder if the opening sentence should therefore say something like:
>>
>> "The information fetched from file or the Windows account database
is cached
>> by the process. The cached information is inherited by child /Cygwin/
>> processes. (A Cygwin process invoked from a Windows command, such as
>> CMD.exe, will start a fresh process tree unless /cygserver/ is
running.)"
>>
>> BTW, you could say "root of the process tree", but "root" tends to get
>> confused with (superuser) root quite easily, so care would be needed. I
>> think "first process" is pretty clear.
>
> Ok, cool. I rephrased the above a bit different:
>
> The information fetched from the Windows account database or the
> /etc/passwd and /etc/group files is cached by the process. The cached
> information is inherited by Cygwin child processes. A Cygwin process
> invoked from a Windows command, such as CMD.exe, will start a new
> Cygwin process tree and the caching starts from scratch (unless
> cygserver is running, but read on).
>
> Is that ok?
Yep, it's good and clear IMHO.
>>>> 'If both[,] files and db are specified'
>>>
>>> There is a comma already. Or am I looking into the wrong line?
>>
>> Sorry, I was too terse: the comma should be removed:
>> "If both files and db are specified..."
>
> Isn't that ambiguous? What I was trying to say is:
>
> If both settings, "files" and "db" are specified...
>
> Without the comma, the expression "both files" seems to refer to
> the passwd and group files, not the setting I'm talking about,
> and then I'm stumbling over the "... and db ...".
I hadn't considered parsing it that way, and you're right. But your
phrasing 'If both settings, "files" and "db" are specified' is both
unambiguous and also reads very naturally.
>> I hope the above is of some help.
>
> Very much so. I'm very happy if you guys really care for the
> documentation. As a developer and as a non-native speaker, I'm never
> quite sure if my expressions are intelligible enough for non-devs.
It's good, and I (and I'm sure many others) appreciate the time and
effort you put in.
> I updated https://cygwin.com/preliminary-ntsec.html according to
> the above.
Great! And thanks again.
luke
> Thanks,
> Corinna
>
--
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 -