Форум ApacheDev

Apache isn't the fastest or maximally customizable web server, its popularity comes from the fact that it provides a very good balance of these things bundled with maximum portability and reliability.

Вы не зашли.

#1 2007-08-25 14:51:36

wasted
Новичок
Зарегистрирован: 2007-08-25
Сообщений: 1
Рейтинг :   

Модуль инициализируется 4 раза

Описывается, что модуль apache загружается 2 раза,

например такой модуль

/* --- */
void dbg_trace(char *str)
{
    DWORD wtd;
    LPSTR buf;

    HANDLE hLog =
        CreateFile("C:\\apachetest.txt", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL,
            OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
    if (hLog != INVALID_HANDLE_VALUE)
    {
        SetFilePointer(hLog, 0, 0, FILE_END);

        buf = (LPSTR)malloc(lstrlen((LPSTR)str) + 100);
        sprintf(buf, "%s\xD\xA", str);
        WriteFile(hLog, buf, lstrlen(buf), &wtd, NULL);
        free(buf);

        CloseHandle(hLog);
    }
}

static int pre_connection_handler(conn_rec *c, void *csd)
{   


    return OK;
}

static void register_hooks_handler(apr_pool_t *p)
{
    char buf[100];

    ap_hook_pre_connection(pre_connection_handler, NULL, NULL, APR_HOOK_MIDDLE);

    sprintf(&buf, "register_hooks_handler call, pool = %d", (UINT)p);
    dbg_trace(&buf);
}

module AP_MODULE_DECLARE_DATA apachetest =
{
    STANDARD20_MODULE_STUFF,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    register_hooks_handler
};

если посмотреть в apachetest.txt то там оказывается это:

register_hooks_handler call, pool = 2533712
register_hooks_handler call, pool = 2533712
register_hooks_handler call, pool = 2533928
register_hooks_handler call, pool = 2533928

получается что apache загружает модуль 2 раза , при этом инициализируется так же 2 раза?

У меня создаётся несколько потоков, но из-за повторной инициализации их количество удваивается, я что-то не так делаю?

Неактивен

 

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson