This is the mail archive of the
cygwin-developers@cygwin.com
mailing list for the Cygwin project.
Re: Proposal: check and read /etc/{passwd,group} less frequently.
>>> On Fri, 14 Sep 2001 15:01:07 +0200
>>> Corinna Vinschen <vinschen@redhat.com> said:
> What about a long running server process e.g. started from cygrunsrv?
> It runs uinfo_init() just once at the beginning. It would never get
> the changes to /etc/passwd and /etc/group since it needs that info
> _before_ changing the user context (which would call internal_getlogin()
> directly from seteuid(), btw. -- no uinfo_init() at all).
There is no problem in regard to inetd because it spawns real
servers which refer /etc/{passwd,group}.
Sshd can't have the chance to get the changes. But it less help
sshd to check and read /etc/{passwd,group} in internal_getlogin(),
because it calls getpwnam() before seteuid().
I don't hate to restart sshd so much. I feel it much more
comfortable and reasonable than the previous way, that is,
I must terminate all Cygwin processes to get changes to
/etc/{passwd,group}.
Anyway, I implemented my idea and got benchmarks on Win98 SE and
WinNT 4.0 SP6a via compiling bash. The code became much simpler,
but I couldn't observe any performance improvement on both
platforms. So I withdraw my proposal.
____
| AIST Kazuhiro Fujieda <fujieda@jaist.ac.jp>
| HOKURIKU Center for Information Science
o_/ 1990 Japan Advanced Institute of Science and Technology