In <19981012132628.A17294@xxxxxxxxxxx> Aleksey I Zavilohin (villain@xxxxxxxxxxx) 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@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =
"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.