From dev-return-14787-apmail-apr-dev-archive=apr.apache.org@apr.apache.org Wed Sep 21 20:54:28 2005 Return-Path: Delivered-To: apmail-apr-dev-archive@www.apache.org Received: (qmail 91357 invoked from network); 21 Sep 2005 20:54:27 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 21 Sep 2005 20:54:27 -0000 Received: (qmail 49153 invoked by uid 500); 21 Sep 2005 20:54:26 -0000 Delivered-To: apmail-apr-dev-archive@apr.apache.org Received: (qmail 49073 invoked by uid 500); 21 Sep 2005 20:54:25 -0000 Mailing-List: contact dev-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Id: Delivered-To: mailing list dev@apr.apache.org Received: (qmail 49060 invoked by uid 99); 21 Sep 2005 20:54:25 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 Sep 2005 13:54:25 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: neutral (asf.osuosl.org: local policy) Received: from [69.225.174.131] (HELO x.win.covalent.net) (69.225.174.131) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 Sep 2005 13:54:33 -0700 Received: from [192.168.0.21] ([24.13.128.132]) by x.win.covalent.net over TLS secured channel with Microsoft SMTPSVC(5.0.2195.6713); Wed, 21 Sep 2005 13:52:39 -0700 Message-ID: <4331C834.2080307@rowe-clan.net> Date: Wed, 21 Sep 2005 15:53:08 -0500 From: "William A. Rowe, Jr." User-Agent: Mozilla Thunderbird 1.0.6-1.1.fc3 (X11/20050720) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Joe Orton CC: dev@apr.apache.org Subject: Re: [PATCH] apr_dso_load2() with flags support References: <4321B40C.8050902@rowe-clan.net> <20050909164510.GA7930@redhat.com> <4321C28D.1060702@rowe-clan.net> <4331684A.1050803@rowe-clan.net> <20050921141820.GD10767@redhat.com> <43317249.6010002@rowe-clan.net> <20050921151842.GE10767@redhat.com> <43318149.5010207@rowe-clan.net> <20050921161426.GA14699@redhat.com> <4331897D.7000403@rowe-clan.net> <20050921201956.GA19887@redhat.com> In-Reply-To: <20050921201956.GA19887@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 21 Sep 2005 20:52:39.0515 (UTC) FILETIME=[67569AB0:01C5BEEE] X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Joe Orton wrote: > So by "it must not expose special platform knowledge" you really mean > "it must not allow callers to take advantage of features not available > on all supported platforms"? I'd hoped to have seen the back of that > tired old argument. That is NOT what I said and you know that :) > If APR is constrained to being no better than the lowest common > denominator then APR is doomed. Please rescind the veto and let those > of us who care about moving the code forward do so. What I said was, define a behavior, not a platform-specific behavior, and let's move on through this discussion to IMPLEMENT the damned behaviors on all the platforms that support them. I -said-, if you want dlopen(), use it. If you want APR, define just what we need to do. You want to use an undocumented, unsupported dlopen() flag, and tell me that it's orthoginal to any sort of APR_DSO_PRIVATE/APR_DSO_LOCAL behavior. I googled 'RTLD_DEEPBIND man' searching for any man page documentation (it's sure not on my FC3's man page for dlopen) and found nothing but a handful of posts by yourself on behalf of RH. And rather than answer my question about "What does it do, and where is it documented", you bemoan the fact that I won't turn apr_dso_load() into dlopen(). My issue with naming APR_DSO_LOCAL is that it should define a behavior, not a dlopen() flag, and from that perspective it will be confusing to posix/dlopen users if APR_DSO_LOCAL triggered different flags on very different platforms such as HPUX shl_*() api. Do you really want to force the user to list out various shl_*() and dlopen() and Win32 and OS/X dyld_*() flags just to accomplish something that should be a single brain-dead simple-stupid flag? Let's start by adopting your change for APR_DSO_PRIVATE in trunk, and decide what that flag implies on the half-dozen platforms so that the APR library provides portability? Bill