>>458 なるほど.Solaris 流に MT-Safe かと思ってましたが......
こんなのを httpd 起動時に LD_PRELOAD とかすれば何とかなるのかなぁ......?

#include <dlfcn.h>
#include <pthread.h>

static pthread_mutex_t dlmutex = PTHREAD_MUTEX_INITIALIZER;

void *dlopen(const char *pathname, int mode)
{
    static union {
        void *v;
        dlfunc_t d;
        void *(*f)(const char *, int);
    } o_dlopen;
    void *rv;

    pthread_mutex_lock(&dlmutex);
    if (!o_dlopen.v)
        o_dlopen.d = dlfunc(RTLD_NEXT, "dlopen");
    rv = o_dlopen.f(pathname, mode);
    pthread_mutex_unlock(&dlmutex);
    return rv;
}

int dlclose(void *handle)
{
    static union {
        void *v;
        dlfunc_t d;
        int (*f)(void *);
    } o_dlclose;
    int rv;

    pthread_mutex_lock(&dlmutex);
    if (!o_dlclose.v)
        o_dlclose.d = dlfunc(RTLD_NEXT, "dlclose");
    rv = o_dlclose.f(handle);
    pthread_mutex_unlock(&dlmutex);
    return rv;
}

void *dlsym(void *handle, const char *name)
{
    static union {
        void *v;
        dlfunc_t d;
        void *(*f)(void *, const char *);
    } o_dlsym;
    void *rv;

    pthread_mutex_lock(&dlmutex);
    if (!o_dlsym.v)
        o_dlsym.d = dlfunc(RTLD_NEXT, "dlsym");
    rv = o_dlsym.f(handle, name);
    pthread_mutex_unlock(&dlmutex);
    return rv;
}