In <362F709B@lexa.ru> Alex Tutubalin (lexa@lexa.ru) wrote:
AT> Привет,
alr>> Да не надо патчей к mod_perl. Надо один раз написать модуль
alr>> Apache::Charsets с мааленьким Charset.xs
alr>> чтобы потом можно было сказать
alr>> use Apache::Charset;
AT> И точно. Никогда xs'ов не писал, надо же когда-то начинать, блин.
AT> Но вообще - я не уверен, что этот номер легко пройдет. Apache.c, получаемый
AT> из Apache.xs имеет то преимущество, что линкуется прямо в сам apache.
AT> Получится ли получить ссылки на функции/таблицы в apache из модуля, который
AT> загружается позднее - я не знаю. Из общих соображений мне это кажется
AT> сомнительным.
Из общих соображений очевидно, что эта проблема уже решена (для большинства
Unix'ов :-) ибо DSO-модули самого Apache должны получать доступ к этим функциям.
Конечно в данном случае это загружается не самим Apache'м, а perl'ом, который
является частью Apache и сам иногда загружен через DSO, но в современном Linux'е
этот номер точно сработает да и в большистве других *nix'ов -- скорее всего
тоже... Ибо в любом случае все сводится к одной и той же функции в libdl ...
Только сам Apache должен быть собран с поддержкой DSO (то есть в тем *nix'ах,
где это необходимо все должно быть вынесно в libhttpd -- это в 1.3.0 делается
добавлением одной строчки при создании конфигурации Apache).
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.