From owner-cvs-all@FreeBSD.ORG Mon Mar 6 00:32:54 2006 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8D05D16A420; Mon, 6 Mar 2006 00:32:54 +0000 (GMT) (envelope-from mux@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 38EAB43D49; Mon, 6 Mar 2006 00:32:54 +0000 (GMT) (envelope-from mux@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k260Ws3Q098533; Mon, 6 Mar 2006 00:32:54 GMT (envelope-from mux@repoman.freebsd.org) Received: (from mux@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k260Wsge098532; Mon, 6 Mar 2006 00:32:54 GMT (envelope-from mux) Message-Id: <200603060032.k260Wsge098532@repoman.freebsd.org> From: Maxime Henrion Date: Mon, 6 Mar 2006 00:32:54 +0000 (UTC) To: projects-committers@FreeBSD.org, cvs-projects@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: projects/csup idcache.c idcache.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Mar 2006 00:32:54 -0000 mux 2006-03-06 00:32:54 UTC FreeBSD projects repository Added files: csup idcache.c idcache.h Log: Add an implementation of a thread-safe cache for lookups in the group or password files, per name or per uid/gid. It serves two purposes. First, it makes the code thread-safe by serializing calls to getpwuid() or getpwnam() and calls to getgrgid() or getgrnam(). Second, it's a cache so we avoid calling those functions several times for the same password/group file entry. It's implemented using four separate hash tables (uid->name, gid->name, name->uid, name->gid). Revision Changes Path 1.1 +421 -0 projects/csup/idcache.c (new) 1.1 +41 -0 projects/csup/idcache.h (new)