[ANNOUNCEMENT] TEST RELEASE: Cygwin 1.7.33-0.1

Luke Kendall luke.kendall@cisra.canon.com.au
Mon Oct 27 23:13:00 GMT 2014


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



More information about the Cygwin mailing list