From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5046 invoked by alias); 19 Aug 2011 03:53:06 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 16266 Received: (qmail 5109 invoked from network); 19 Aug 2011 03:52:53 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received-SPF: none (ns1.primenet.com.au: domain at closedmail.com does not designate permitted sender hosts) From: Bart Schaefer Message-id: <110818205236.ZM20722@torch.brasslantern.com> Date: Thu, 18 Aug 2011 20:52:36 -0700 In-reply-to: <4E4D8D50.5040800@gmail.com> Comments: In reply to Piotr Karbowski "Re: "Once-a-day" long delay before startup" (Aug 19, 12:08am) References: <20110814145749.GA6341@andrew.cmu.edu> <4E4D8D50.5040800@gmail.com> X-Mailer: OpenZMail Classic (0.9.2 24April2005) To: zsh-users@zsh.org Subject: Re: "Once-a-day" long delay before startup MIME-version: 1.0 Content-type: text/plain; charset=us-ascii On Aug 19, 12:08am, Piotr Karbowski wrote: } } +compaudit:90> (( UID == EUID )) } } after that it take about 7-8s of nothing and then: } } +compaudit:91> getent group slashbeast The compaudit script wants to check that you haven't allowed someone else to feed autoloadable functions to your shell, which would be a large security risk. The getent call is used to read the system's groups database for the groups of your login user, so that the shell can then check whether other persons in that group might have write access to your fpath. (There is an assumption that getent is in /usr/bin, so if it's not there the check relies on the local /etc/group file.) If you're in an environment (such as, say, a university or a large corporation) where the groups database is networked and may contain hundreds or even thousands of entries, that "getent" call can take a very long time. After one reading, though, your system has cached the database and until the cache expires or is flushed subsequent calls to "getent" return almost instantly. You can skip this security check by using "compinit -u" when you load the completion system.