Return-Path: Delivered-To: apmail-apr-dev-archive@www.apache.org Received: (qmail 96297 invoked from network); 4 Jun 2004 13:27:07 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 4 Jun 2004 13:27:07 -0000 Received: (qmail 44491 invoked by uid 500); 4 Jun 2004 13:27:09 -0000 Delivered-To: apmail-apr-dev-archive@apr.apache.org Received: (qmail 44393 invoked by uid 500); 4 Jun 2004 13:27:07 -0000 Mailing-List: contact dev-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Delivered-To: mailing list dev@apr.apache.org Received: (qmail 44252 invoked by uid 99); 4 Jun 2004 13:27:06 -0000 Errors-To: Message-Id: <6.1.0.6.2.20040604080852.02920a28@pop3.rowe-clan.net> X-Sender: wrowe%rowe-clan.net@pop3.rowe-clan.net X-Mailer: QUALCOMM Windows Eudora Version 6.1.0.6 Date: Fri, 04 Jun 2004 08:12:34 -0500 To: Justin Erenkrantz From: "William A. Rowe, Jr." Subject: Re: [PATCH] Strawman at fixing disjoint process locking Cc: dev@apr.apache.org In-Reply-To: <213031CF0406DE1AC426A411@[10.0.1.137]> References: <213031CF0406DE1AC426A411@[10.0.1.137]> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N At 04:31 AM 6/4/2004, Justin Erenkrantz wrote: >I took a look at the locking problem, and I think it can be fixed rather >trivially. This is a minor problem in that it only affects the case where the >child doesn't share memory addresses - such as when happens by using apr_proc_create. Hence, adding an 'apr_*_mutex_join' could solve the problem. Now that proposal I like. We will still need one flag, however, and I'd suggest APR_LOCK_DEFAULT_NAMED, to insist to APR that it choose a lockmech, appropriate to the platform, which will take the fname and create a joinable mutex. If this flag isn't passed, and no specific locking mechansim is requested, APR is free to use any anonymous and therefore unjoinable mechanism it prefers in apr_global_mutex_create(). Bill