Return-Path: Delivered-To: apmail-apache-cvs-archive@apache.org Received: (qmail 19008 invoked by uid 500); 2 Mar 2000 22:35:53 -0000 Mailing-List: contact apache-cvs-help@apache.org; run by ezmlm Precedence: bulk X-No-Archive: yes Reply-To: apache-cvs@apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list apache-cvs@apache.org Received: (qmail 18996 invoked by uid 500); 2 Mar 2000 22:35:53 -0000 Delivered-To: apmail-apache-2.0-cvs@apache.org Date: 2 Mar 2000 22:35:52 -0000 Message-ID: <20000302223552.18991.qmail@locus.apache.org> From: manoj@locus.apache.org To: apache-2.0-cvs@apache.org Subject: cvs commit: apache-2.0/src/lib/apr/locks/unix locks.c manoj 00/03/02 14:35:51 Modified: src/lib/apr/locks/unix locks.c Log: Don't open a lock file unless we actually need it. Submitted by: Jeff Trawick Revision Changes Path 1.18 +12 -7 apache-2.0/src/lib/apr/locks/unix/locks.c Index: locks.c =================================================================== RCS file: /home/cvs/apache-2.0/src/lib/apr/locks/unix/locks.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- locks.c 2000/01/25 23:04:27 1.17 +++ locks.c 2000/03/02 22:35:51 1.18 @@ -71,7 +71,7 @@ * determine if it should be used. * arg 4) The newly created lock structure. * NOTE: APR_CROSS_PROCESS may lock both processes and threads, but it is - * only garaunteed to lock processes. + * only guaranteed to lock processes. */ ap_status_t ap_create_lock(struct lock_t **lock, ap_locktype_e type, ap_lockscope_e scope, char *fname, @@ -84,13 +84,18 @@ new->cntxt = cont; new->type = type; - if (fname != NULL) { - new->fname = ap_pstrdup(cont, fname); +#if defined(USE_FCNTL_SERIALIZE) || defined(USE_FLOCK_SERIALIZE) + /* file-based serialization primitives */ + if (type != APR_INTRAPROCESS) { + if (fname != NULL) { + new->fname = ap_pstrdup(cont, fname); + } + else { + new->fname = ap_pstrdup(cont, tempnam(NULL, NULL)); + unlink(new->fname); + } } - else { - new->fname = ap_pstrdup(cont, tempnam(NULL, NULL)); - unlink(new->fname); - } +#endif if (type != APR_CROSS_PROCESS) { #if APR_HAS_THREADS