You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "William A. Rowe Jr." <wr...@rowe-clan.net> on 2009/11/24 20:50:48 UTC
Re: svn commit: r883816 - in /httpd/httpd/trunk: include/util_mutex.h
server/util_mutex.c
trawick@apache.org wrote:
> --- httpd/httpd/trunk/include/util_mutex.h (original)
> +++ httpd/httpd/trunk/include/util_mutex.h Tue Nov 24 19:06:16 2009
> @@ -99,9 +99,9 @@
> const char **mutexfile);
>
> /* private function to process the Mutex directive */
> -AP_DECLARE(const char *) ap_set_mutex(cmd_parms *cmd, void *dummy,
> - const char *typelist,
> - const char *mechfile);
If this is a public function (and it is named as one) please revert ;-)
Re: svn commit: r883816 - in /httpd/httpd/trunk: include/util_mutex.h
server/util_mutex.c
Posted by "William A. Rowe Jr." <wr...@rowe-clan.net>.
Jeff Trawick wrote:
>
> Many if not all other functions which handle directives and which are
> not implemented in the same file as the directive declaration also
> have the ap_ prefix, so I don't follow you on the "public" aspect.
s/public/meant to be exported/
> But most of these other functions are declared with
> AP_DECLARE_NONSTD(). That seems to be appropriate for ap_set_mutex(),
> ap_set_name_virtual_host(), and perhaps others.
AP_DECLARE_NONSTD() really has one goal, which is offering variable arg
lists. A secondary effect is to use a pure C calling convention, the sort
of thing you might need for some registered callbacks (e.g. atexit, etc).
Otherwise AP_DECLARE() would seem fine.
I think the registered cmd handler might need to be NONSTD.
Re: svn commit: r883816 - in /httpd/httpd/trunk: include/util_mutex.h
server/util_mutex.c
Posted by Jeff Trawick <tr...@gmail.com>.
On Tue, Nov 24, 2009 at 2:50 PM, William A. Rowe Jr.
<wr...@rowe-clan.net> wrote:
> trawick@apache.org wrote:
>> --- httpd/httpd/trunk/include/util_mutex.h (original)
>> +++ httpd/httpd/trunk/include/util_mutex.h Tue Nov 24 19:06:16 2009
>> @@ -99,9 +99,9 @@
>> const char **mutexfile);
>>
>> /* private function to process the Mutex directive */
>> -AP_DECLARE(const char *) ap_set_mutex(cmd_parms *cmd, void *dummy,
>> - const char *typelist,
>> - const char *mechfile);
>
> If this is a public function (and it is named as one) please revert ;-)
I used ap_set_name_virtual_host() as an example due to its unfortunate
locality to "Mutex" in the list of directives in server/core.c. It is
also an undecorated "const char *ap_set_name_virtual_host()".
Many if not all other functions which handle directives and which are
not implemented in the same file as the directive declaration also
have the ap_ prefix, so I don't follow you on the "public" aspect.
But most of these other functions are declared with
AP_DECLARE_NONSTD(). That seems to be appropriate for ap_set_mutex(),
ap_set_name_virtual_host(), and perhaps others.
Is that the fix?
Re: svn commit: r883816 - in /httpd/httpd/trunk: include/util_mutex.h
server/util_mutex.c
Posted by "William A. Rowe Jr." <wr...@rowe-clan.net>.
Nick Kew wrote:
>
> Regarding r883540 itself, I've just taken a look at it.
> It seems to enforce the same mutex type on all modules that
> use a mutex. Can't see an obvious reason not to do that, but
> it might merit discussion on-list. For example, maybe someone
> has a good reason to use different mutex types for a proc
> mutex and a global mutex?
This permits your desired feature, please reread the thread between
Jeff and I, he explained it really well.
Re: svn commit: r883816 - in /httpd/httpd/trunk: include/util_mutex.h
server/util_mutex.c
Posted by Nick Kew <ni...@webthing.com>.
William A. Rowe Jr. wrote:
> trawick@apache.org wrote:
>> --- httpd/httpd/trunk/include/util_mutex.h (original)
>> +++ httpd/httpd/trunk/include/util_mutex.h Tue Nov 24 19:06:16 2009
>> @@ -99,9 +99,9 @@
>> const char **mutexfile);
>>
>> /* private function to process the Mutex directive */
>> -AP_DECLARE(const char *) ap_set_mutex(cmd_parms *cmd, void *dummy,
>> - const char *typelist,
>> - const char *mechfile);
>
> If this is a public function (and it is named as one) please revert ;-)
Um, it appears to have been introduced in r883540 only yesterday,
and this was a revert (to private).
Regarding r883540 itself, I've just taken a look at it.
It seems to enforce the same mutex type on all modules that
use a mutex. Can't see an obvious reason not to do that, but
it might merit discussion on-list. For example, maybe someone
has a good reason to use different mutex types for a proc
mutex and a global mutex?
--
Nick Kew