In <19981012132628.A17294@ems.chel.su> Aleksey I Zavilohin
(villain@ems.chel.su) wrote:
AZ> Khimenko Victor писал:
>> Мдаа... У нас вообще subj есть ? Как могло так случится, что никто не заметил
>> за три недели, что установка mod_perl приводит к тому, что CGI-скрипты
>> перестают запускаться ???
AZ> Это похоже проблема последних mod_perl и apache
AZ> у меня во всяком случае под дебианом тоже самое
Прям от души отлегло. А то мне все Apache-писатели хором говорят, что "такого
не может быть, потому что не может быть никогда". Я, конечно, как обнаружил
проблему, так патчик в одну строчку сварганил, но IMNSHO проблема не в Apache,
а в mod_perl: откуда берется pool без cleanup'а ??? Может кто-нибудь сможет
эту светлую мыслю донести до mod_perl'овых деятелей (после 19го, самом собой) ?
Мои письма, похоже, пропадают в черной дыре... Ralf S. Engelschall, правда,
откликнулся, но у себя на FreeBSD и/или Solaris'е воспроизвести эффект не смог.
Может кто-нибудь может ему сделать [временный] account на машине, на которой
эффект наблюдается ? Я не могу -- Sovam очень любит периодически доводить ping
до 10-15 сек., а в такой ситуации работать через telnet -- мазохизм (а тот, кто
это предлагает -- садист, соответственно :-)
P.S. Чуть не забыл про patch:
-- cut --
--- apache_1.3.2/src/main/alloc.c.old Wed Oct 7 01:17:35 1998
+++ apache_1.3.2/src/main/alloc.c Wed Oct 7 01:19:13 1998
@@ -1601,7 +1601,7 @@
static void run_child_cleanups(struct cleanup *c)
{
while (c) {
- if (c->child_cleanup) (*c->child_cleanup) (c->data);
+ (*c->child_cleanup) (c->data);
c = c->next;
}
}
-- cut --
Конечно он не будет включен в Apache, как это объяснил Linus -- позиция
создателя дистрибутива отличается от позиции maintainer'а: если тот, кто
создает дистрибутив может позволить себе не думать о будущем и главная
цель "заставить это $%E#%$%& работать здесь и сейчас -- неважно какими
средствами", то maintainer не может допустить использование уродских patch'ей
(подобных данному: откуда, черт возьми, в mod_perl'е взялся pool без
clenup'а?)...
Но в rpm'ы, которые сегодня (я надеюсь) выложат на ftp.ksi-linux.com он
включен...
P.P.S. Эта проблема, как это ни прискорбно, не связана с
-- cut --
#if MODULE_MAGIC_NUMBER >= 19970728
NULL, /* child_exit *//* mod_perl uses register_cleanup() */
#endif
-- cut --
этим фрагментом кода в mod_perl'е -- если заменить здесь NULL на
&ap_null_cleanup, то проблема не исчезнет...
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =