httpd-modules-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sorin Manolache <sor...@gmail.com>
Subject Re: one problem about MPM worker
Date Fri, 02 Mar 2012 16:12:08 GMT
On 2012-03-02 16:44, Rui Hu wrote:
> hi,
>
> My apache is running in worker MPM mode. And I wrote a module which uses
> ap_get_module_conf and ap_set_module_conf to get&  set core_module's data
> once a request comes. So I am worried about following three potential
> problems.
>
> 1. Does every request have a copy of core_module's configuration data?

No. They have pointers to configuration objects.

> 2. Is there any built-in synchronization mechanism existing in these two
> functions?

No.

> 3. Should I add locking mechanism myself?

If I answer strictly to the question, I would say No. ap_set_module_conf 
does something like array_of_pointers_to_conf_data_objects[module_index] 
= address_of_conf_object.

So it is an assignment in an array. Normally this is done atomically.

If I digress, I would say that I am not sure your approach is safe.

First, configurations more often are read-only. Apache loads them at 
startup and they do not change during the life-time of the server.

If you want to use request-specific data, you have other means, such as 
r->request_config, r->notes, r->subprocess_env.

Second, it is good practice that modules create and use their own 
configuration objects and do not change de configuration objects of 
other modules.

Sorin

Mime
View raw message