Hello!
static int module_translate_name(request_rec * r) {
module_config *s_cfg = ap_get_module_config(r->server->module_config,
&fp_module);
apr_datum_t db_domain_t;
apr_datum_t db_path_t;
apr_dbm_open_ex(&s_cfg->file,"DB","/tmp/vhosts.db",APR_DBM_RWCREATE,666,r->pool);
db_domain_t.dptr = r->hostname;
db_domain_t.dsize = strlen(r->hostname);
apr_dbm_fetch(s_cfg->file, db_domain_t,&db_path_t);
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, r->server, "DB! %s PID:
%ld",db_path_t.dptr,(long int)getpid());
if(db_path_t.dptr) {
r->filename = apr_pstrcat(r->pool, db_path_t.dptr, r->uri,
NULL);
} else {
apr_dbm_close(s_cfg->file);
return DECLINED;
}
apr_dbm_close(s_cfg->file);
return OK;
}
Now my problem is that opening the berkeley db file fails when i want
to translate this.
If i open the database per child then it works ok but if i have a
structure like this:
www.1234.com => /var/www
if i access the url after apache restart it works the child fetches
the data from the database. But if i change the database with an
external program than the child does not fetch the data from the
database again and uses the old data.
is there a way to do this ?
Yours,
Aron
On 2/11/07, Nick Kew <[EMAIL PROTECTED]> wrote:
On Sun, 11 Feb 2007 15:23:52 +0000
Nick Kew <[EMAIL PROTECTED]> wrote:
> On Sun, 11 Feb 2007 15:51:37 +0100
> Michael Wallner <[EMAIL PROTECTED]> wrote:
>
> > Looking at apr/memory/unix/apr_pools.c, APRs allocator is anything
> > but a generic infrastructure for implementing my own allocator.
>
> If it was, then I daresay memory pools
... should've read "shared memory pools", of course!
--
Nick Kew
Application Development with Apache - the Apache Modules Book
http://www.apachetutor.org/