httpd-modules-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dave Ingram <d...@dmi.me.uk>
Subject Re: APR feature detection
Date Fri, 03 Apr 2009 08:43:15 GMT
Sorin Manolache wrote:
> On Thu, Apr 2, 2009 at 19:45, Dave Ingram <dave@dmi.me.uk> wrote:
>   
>> Hi guys,
>>
>> Is there any way that my module can detect which APR features are
>> enabled in Apache? It relies on DBD, and if that's not available then my
>> module just segfaults, which isn't very friendly. I'd prefer to give an
>> error message to the user, telling them that DBD is required.
>>
>> Does anyone have any tips, or should I ask the APR list instead?
>>     
>
> dbd does this:
>     APR_REGISTER_OPTIONAL_FN(ap_dbd_prepare);
>     APR_REGISTER_OPTIONAL_FN(ap_dbd_open);
>     APR_REGISTER_OPTIONAL_FN(ap_dbd_close);
>     APR_REGISTER_OPTIONAL_FN(ap_dbd_acquire);
>     APR_REGISTER_OPTIONAL_FN(ap_dbd_cacquire);
>
> APR_RETRIEVE_OPTIONAL_FN(one of the functions above) should give you
> NULL if DBD is absent.
>
> The two macros are declared in apr_optional.h.
>   

Actually, that's not quite what I was after -- those are defined by
mod_dbd, which I don't rely on (as it's initialised too late for my
module's purposes). I do all of the DBD interaction myself. Is there any
other way to be sure it's enabled? Would:

if (apr_dbd_open != NULL) {
  // error...
}

work?


Dave

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message